Du strukturierst ein Node-Projekt mit package.json, ES-Modulen, npm-Abhängigkeiten und Skripten.
Diese Lektion in Kodokon öffnenEin echtes Projekt passt nicht in eine einzige Datei: Du teilst es in Module auf, also in Dateien, die exportieren, was sie anbieten, und importieren, was sie brauchen. Die Syntax import / export kennst du schon aus dem JavaScript-Pfad; sehen wir uns an, wie Node sie ermöglicht. Alles beginnt mit package.json, dem Ausweis deines Projekts: eine Datei im JSON-Format, die seinen Namen, seine Version und seine Einstellungen beschreibt. Zum Erstellen wechselst du in einen leeren Ordner und führst npm init -y aus (die Option -y übernimmt alle Standardantworten). Füge dann die Zeile "type": "module" hinzu: Sie sagt Node, dass deine .js-Dateien ES-Module verwenden.
{
"name": "my-project",
"version": "1.0.0",
"type": "module",
"scripts": {
"start": "node main.js",
"dev": "node --watch main.js"
}
}Legen wir in diesem Ordner zwei Dateien an: math.js exportiert eine Funktion, main.js importiert sie. Eine Besonderheit von Node: Der Import einer lokalen Datei muss mit ./ beginnen und mit der Endung .js enden. Beides ist Pflicht, anders als es manche Web-Werkzeuge durchgehen lassen.
// math.js
export function add(a, b) {
return a + b;
}
// main.js
import { add } from "./math.js";
console.log(add(2, 3));Die große Stärke von npm ist seine weltweite Bibliothek an Paketen: Code, den andere geschrieben haben, sofort einsatzbereit. Der Befehl npm install lädt ein Paket in den Ordner node_modules deines Projekts und trägt es im Abschnitt dependencies der package.json ein: die Liste der Pakete, die dein Projekt zum Funktionieren braucht. Eine automatisch erzeugte Datei package-lock.json hält die genau installierten Versionen fest, damit alle dasselbe bekommen. Probieren wir es mit chalk, einem Paket, das den im Terminal angezeigten Text einfärbt.
npm install chalkEine letzte Säule: die npm-Skripte, also Befehlsabkürzungen, die im Abschnitt scripts der package.json deklariert werden. npm run dev führt den unter dem Namen dev gespeicherten Befehl aus, so lang der echte Befehl auch sein mag. Unser Skript dev nutzt node --watch, eine Option, die das Programm bei jeder Dateiänderung automatisch neu startet: sehr angenehm während der Entwicklung.
npm run start
npm run dev