Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

npm-Skripte bündeln eine Reihe von Terminalbefehlen, mit denen Sie Aufgaben in einem JavaScript-Projekt automatisieren können. Sie bieten auch eine konsistente Möglichkeit, Befehle in verschiedenen Umgebungen auszuführen.

Sie können npm-Skripte in einer package.json-Datei einrichten, sie auf der Befehlszeile ausführen und eine Vielzahl von Optionen verwenden, um ihr Verhalten zu konfigurieren.

Einrichten von npm-Skripten in der Datei „package.json“.

Normalerweise definieren Sie npm-Skripts in einer package.json-Datei, die sich im Stammverzeichnis Ihres JavaScript-Projekts befindet. Dies ist kein Muss, da Sie Skripte aus anderen Dateien ausführen können, aber package.json erleichtert den Zugriff auf und die Verwaltung Ihrer Skripte.

Beachten Sie, dass Sie npm und Node in Ihrer Entwicklungsumgebung installiert haben müssen, um folgen zu können. Hier sind einige hilfreiche Artikel:

instagram viewer
  • Wie man Installieren Sie Node.js und npm unter Windows.
  • Wie man Installieren Sie Node.js und npm auf Ubuntu.

Führen Sie die folgenden Schritte aus, um ein npm-Skript in package.json einzurichten:

  1. Navigieren Sie zum Stammverzeichnis Ihres Projekts.
  2. Führen Sie npm init auf dem Terminal aus. Der Befehl stellt Ihnen einige Fragen zu Ihrem Projekt. Beantworten Sie sie, um eine entsprechende package.json-Datei zu erstellen.
    npm-Init 
  3. Suchen Sie in der Datei „package.json“ das Feld scripts. Hier können Sie den Namen eines Skripts und den Befehl, den es ausführen soll, als Schlüssel/Wert-Paare hinzufügen. Das folgende Skript mit dem Namen hello-world gibt beispielsweise „Hello world“ im Terminal aus, wenn es ausgeführt wird.
    {
    "Skripte": {
    "Hallo Welt": "Echo \\"Hallo Welt\\""
    }
    }

Hier sind einige gängige Skripte für JavaScript-Projekte:

  • Start: Dieses Skript startet den Entwicklungsserver. In einem Node-Projekt ist dies beispielsweise möglich Führen Sie den Server mit nodemon aus.
  • bauen: Generiert den Produktionscode für Ihre Anwendung und verwendet möglicherweise ein Tool wie Webpack, um den Code zu minimieren und zu bündeln.
  • prüfen: Dieses Skript führt die in Ihrem Projekt definierten Tests aus. Es kann ein Testframework wie Jest ausführen.
  • Fussel: Ein Lint-Skript führt ein Linting-Tool wie ESLint aus, um den Code auf mögliche Fehler zu überprüfen.
  • betrachten: Dieses Skript überwacht den Quellcode auf Änderungen und führt dann einen Befehl aus. Es ist nützlich, um Tests erneut auszuführen oder die Anwendung bei Codeänderungen neu zu erstellen.
  • einsetzen: Führt einen Befehl aus, der die Anwendung in der angegebenen Umgebung wie Produktion oder Staging bereitstellt.

Vor- und Nachskripte

npm unterstützt Pre- und Post-Skripte. Pre-Skripts werden vor einem bestimmten Skript ausgeführt, während Post-Skripts danach ausgeführt werden. Sie können Pre- und Post-Skripts für jedes Skript erstellen, indem Sie Ihrem Skriptnamen einfach „pre“ oder „post“ voranstellen.

Im Folgenden finden Sie beispielsweise Pretest- und Posttest-Skripts, die vor bzw. nach dem Testskript ausgeführt werden.

{
"Skripte": {
"Vortest": "npm run lint",
"prüfen": "Scherz",
"Nachtest": „npm run build“
}
}

Ausführen von npm-Skripten aus package.json

Nachdem Sie „package.json“ ein npm-Skript hinzugefügt haben, können Sie es mit dem Befehl „npmrun“ ausführen.

Hier ist die Syntax:

npm ausführen 

Um beispielsweise das zuvor definierte Startskript auszuführen, verwenden Sie:

npm-Lauf starten

Sie können den Befehl npmrun alleine ausführen, um die Liste aller verfügbaren Skripte in einem Projekt abzurufen. Hier ist eine Beispielausgabe:

Skripte verfügbar in [email protected] über `npm run-script`:
Hallo Welt
Echo "Hallo Welt"

Es listet den Namen des Skripts und den Befehl auf, den es ausführt.

Verwenden von Kurzbefehlen zum Ausführen integrierter Skripts

npm unterstützt mehrere integrierte Skripte, die Sie mit Kurzbefehlen ausführen können. Um beispielsweise ein npm-Skript mit dem Namen start auszuführen, können Sie npm start anstelle von npm run start verwenden.

Dies ist bequemer und schneller als das Eingeben des vollständigen Befehls. Andere integrierte Skripte, die Sie auf diese Weise ausführen können, sind „test“, „stop“ und „restart“.

Ausführen mehrerer npm-Skripts

Sie können mehrere npm-Skripte auf zwei Arten ausführen:

  • Der Reihe nach
  • Parallel zu

Wenn Sie Linux oder ein anderes Unix-ähnliches System verwenden, können Sie den Standard verwenden Methoden zum gleichzeitigen Ausführen mehrerer Befehle.

Um mehrere npm-Skripte nacheinander auszuführen, verwenden Sie zum Beispiel &&:

npm run start && npm test

Um mehrere npm-Skripte parallel auszuführen, verwenden Sie &, zum Beispiel:

npm-Run-Server und npm-Run-Client

In Nicht-UNIX-Umgebungen können Sie den Befehl npm-run-all oder das gleichzeitige npm-Paket verwenden.

Verwenden von npm-run-all:

npm-run-all --Parallel-Server-Client

Gleichzeitige Verwendung in package.json.

"Skripte": {
"Entwickler": "gleichzeitig \\"npm-Server ausführen\\" \\"npm Client ausführen\\"",
}

Beachten Sie, dass Sie die Pakete npm-run-all und Concurrently installieren müssen, bevor Sie sie verwenden können.

Fehlerbehebung bei häufigen Npm-Skriptfehlern

Im Folgenden sind einige häufige Fehler aufgeführt, die beim Ausführen von npm-Skripten auftreten können:

  • npm ähm! fehlendes Skript — Dieser Fehler tritt auf, wenn Sie das Skript, das Sie auszuführen versuchen, nicht in der Datei „package.json“ definiert haben. Stellen Sie sicher, dass Sie den Skriptnamen richtig schreiben und dass er im Feld scripts der Datei package.json definiert ist.
  • Zugriff verweigert — Dieser Fehler tritt auf, wenn Sie keine Berechtigung zum Ausführen eines Skripts haben, also stellen Sie sicher, dass Sie die richtigen Berechtigungen haben.
  • Fehlende Abhängigkeiten — Dieser Fehler tritt auf, wenn das Skript ein nicht installiertes Paket verwendet. Verwenden Sie ein Tool wie depcheck um nach fehlenden Abhängigkeiten in package.json zu suchen und diese dann mit npm install zu installieren.
  • Unbekannter Befehl — Dieser Fehler tritt normalerweise auf, wenn Sie ein benutzerdefiniertes Skript als integrierten npm-Befehl ausführen. Stellen Sie sicher, dass Sie verwenden npm ausführen oder npm-Ausführungsskript beim Ausführen von benutzerdefinierten Skripts.

Verwenden von Umgebungsvariablen in npm-Skripten

Umgebungsvariablen ermöglichen es Ihnen, Informationen weiterzugeben, ohne sie fest zu codieren. Um Umgebungsvariablen in einem npm-Skript zu verwenden, können Sie die cross-env npm-Paket. Dieses Tool hilft Ihnen, eine Umgebungsvariable in jeder Umgebung festzulegen.

Beginnen Sie mit der Ausführung dieses Befehls auf dem Terminal, um es als Dev-Abhängigkeit zu installieren:

npm ich speichere -D cross-env

Verwenden Sie es dann in Ihrem Skript wie folgt:

{
"Skripte": {
"bauen": "cross-env NODE_ENV=Produktions-Webpack"
}
}

Hier setzt cross-env die Variable NODE_ENV auf „production“.

Übergeben von Befehlszeilenargumenten an Skripts

Sie können Befehlszeilenargumente an ein npm-Skript übergeben, indem Sie zwei Bindestriche „--“ nach dem Skriptnamen verwenden. Der folgende Befehl führt beispielsweise das Testskript mit dem Argument watch aus:

npm run test -- --watch

Sie können auch ein Befehlszeilenargument wie folgt an ein npm-Skript senden:

npm führe my-port --PORT=3000 aus

Greifen Sie dann im Skript wie folgt darauf zu.

"Skripte": {
"mein-port": "Echo \\"Port: $npm_config_PORT\\""
}

Verwenden Sie auf einem Windows-System Folgendes:

"Skripte": {
"mein-port": "Echo \\"Port: %npm_config_PORT%\\""
}

Das Skript sollte "Port: 3000" ausgeben, wenn Sie es ausführen.

Warum npm-Skripte verwenden?

Sie können Skripts zu package.json hinzufügen, sie auf der Befehlszeile ausführen, Pre- und Post-Hooks verwenden und ihnen Zeilenargumente und Umgebungsvariablen übergeben.

npm-Skripte sind eine leistungsstarke Möglichkeit, Aufgaben in JavaScript-Projekten zu automatisieren. Sie können Ihren Arbeitsablauf verbessern und Ihnen Zeit sparen, indem sie Ihnen konsistente Befehle zum Ausführen mehrerer Aufgaben zur Verfügung stellen.