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
:
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 :
import add from './utils.js'
console.log(add(1, 2))
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
)
import { add } from './utils.js'
console.log(add(1, 2))
export function add(a, b) { // Pas de mot-clé `default`
return a + b
}