Vous structurez un projet Node avec package.json, les modules ES, les dépendances npm et les scripts.
Ouvrir cette leçon dans KodokonUn vrai projet ne tient pas dans un seul fichier : on le découpe en modules, des fichiers qui exportent ce qu'ils proposent et importent ce dont ils ont besoin. Vous connaissez déjà la syntaxe import / export du parcours JavaScript ; voyons comment Node l'active. Tout commence par package.json, la carte d'identité de votre projet : un fichier au format JSON qui décrit son nom, sa version et ses réglages. Pour le créer, placez-vous dans un dossier vide et lancez npm init -y (l'option -y accepte toutes les réponses par défaut). Ajoutez ensuite la ligne "type": "module" : elle indique à Node que vos fichiers .js utilisent les modules ES.
{
"name": "mon-projet",
"version": "1.0.0",
"type": "module",
"scripts": {
"start": "node main.js",
"dev": "node --watch main.js"
}
}Créons deux fichiers dans ce dossier : math.js exporte une fonction, main.js l'importe. Détail propre à Node : l'import d'un fichier local commence obligatoirement par ./ et se termine par l'extension .js. Les deux sont requis, contrairement à ce que tolèrent certains outils web.
// math.js
export function add(a, b) {
return a + b;
}
// main.js
import { add } from "./math.js";
console.log(add(2, 3));La grande force de npm, c'est sa bibliothèque mondiale de paquets (packages) : du code écrit par d'autres, prêt à l'emploi. La commande npm install télécharge un paquet dans le dossier node_modules de votre projet et l'ajoute à la section dependencies du package.json : la liste des paquets dont votre projet a besoin pour fonctionner. Un fichier package-lock.json, créé automatiquement, mémorise les versions exactes installées, pour que tout le monde obtienne la même chose. Essayons avec chalk, un paquet qui colore le texte affiché dans le terminal.
npm install chalkDernier pilier : les scripts npm, des raccourcis de commandes déclarés dans la section scripts du package.json. npm run dev exécute la commande enregistrée sous le nom dev, quelle que soit sa longueur réelle. Notre script dev utilise node --watch, une option qui relance automatiquement le programme à chaque modification d'un fichier : très confortable pendant le développement.
npm run start
npm run dev