Skip to content

Les modules en JavaScript

Il y a aujourd’hui, dans Node.js, deux façons de créer et d’utiliser des modules JavaScript. Une est historique, non-standard, et l’autre est standard (ESM pour ECMASCript Module) et a été implémenté dans node depuis la version 12 en expérimental, et depuis Node 16 l’API est stable.

Nous allons voir uniquement la façon standard.

En JavaScript, chaque fichier est un module si on utilise la syntaxe ESM.

La syntaxe

Il s’agit de la syntaxe import / export :

js
import process from 'node:process'

console.log(process.env.PATH)

process est un module natif de node qu’on importe dans le module index.js avec le mot-clé import.

Export par défaut

Dans l’exemple précédent, process est l’export par défaut : il n’y a pas d’accolade autour.

Voici un autre exemple d’export par défaut :

js
import add from './utils.js'

console.log(add(1, 2))
js
export default function add(a, b) { // mot-clé `default`
  return a + b
}

Export nommé

Ici, add est un export nommé : il faut des accolades autour (noter l’absence du mot-clé default dans utils.js)

js
import { add } from './utils.js'

console.log(add(1, 2))
js
export function add(a, b) { // Pas de mot-clé `default`
  return a + b
}