À propos de ce tutoriel
Créer tout le code dans un seul et même fichier n'est pas forcément pérenne sur le long terme. Le système de module va permettre de morceler le code en plusieurs fichiers afin de mieux l'organiser.
Dans un fichier il est possible d'exporter des variables pour les rendre disponibles.
export const sum = (items) => items.reduce((acc, v) => acc + v, 0)
Ensuite on peut importer cette variable dans notre code depuis un autre fichier
import { sum } from './functions/numbers.js'
// On peut aussi renommer pour éviter les conflits
import { sum as sumObject } from './functions/objects.js'
console.log(sum([2, 8, 10]))
Il est aussi possible de créer un export par défaut qui pourra être importé directement
// functions/numbers.js
export default (items) => items.reduce((acc, v) => acc + v, 0)
// main.js
import sum from './functions/objects.js'
console.log(sum([2, 8, 10]))
Import asynchrone
L'import peut aussi être fait de manière asynchrone en utilisant import
comme une fonction
const {sum} = await import('./functions/numbers.js')