Suche…


Syntax

  • Mit der Eigenschaft "scripts" in package.json können Sie npm-Pakete lokal ausführen.
  • Das Skript "karma": "karma" verweist darauf, dass das karma Shell-Skript das node_modules/.bin . Diese Referenz muss „grab“ sein und ein Alias ​​muss darauf angewendet werden, damit sie in anderen npm-Skripts verwendet werden kann, beispielsweise "test": "karma start" .

Bemerkungen

Vorab anerkannte Skripte

  • prepublish : Ausführen, bevor das Paket veröffentlicht wird
  • publish , postpublish : Nach der publish des Pakets postpublish
  • preinstall : Ausführen, bevor das Paket installiert wird
  • install , postinstall : Nach der Installation des Pakets postinstall
  • preversion , version : Ausführen, bevor die Paketversion preversion wird
  • postversion : Nach dem Bump die Paketversion postversion
  • pretest , test , posttest : posttest mit dem Befehl npm test ausgeführt
  • prestop , stop , poststop : poststop mit dem Befehl npm stop ausgeführt
  • prestart , start , poststart : poststart mit dem Befehl npm start ausgeführt
  • prerestart , restart , postrestart : Führen Sie von dem npm restart - Befehl. Hinweis: npm restart führt die Stopp- und Startskripts aus, wenn kein restart Skript bereitgestellt wird.

Daraus kann man schließen, dass die Eigenschaft "scripts" in package.json ein sehr leistungsfähiges Werkzeug ist. Es kann als Build-Tool verwendet werden, ähnlich wie bei Grunt und Gulp, jedoch mit über 250.000 verfügbaren Paketen. NPM-Skripts führen npm-Pakete aus, die lokal in Ihrem Projekt aus dem node_modules/.bin installiert sind.

Karma lokal ausführen

package.json

{
    "scripts":
        "test": "karma start",
        "karma": "karma"
    }
}

Npm-Skripts ausführen

Es gibt zwei Arten von npm-Skripts, und der Befehl zum Ausführen jedes Befehls unterscheidet sich geringfügig. Der erste Typ von npm-Skripts sind "vorerkannte" Skripts. Diese Skripts werden von npm automatisch erkannt und benötigen kein spezielles Präfix (wie Sie es für den anderen Typ sehen werden), um sie auszuführen. Die andere Art von Skripten sind "benutzerdefinierte" Skripte. Diese Skripts werden von npm nicht vorab erkannt und müssen mit einem speziellen Befehl versehen werden, um sie auszuführen. Im Abschnitt "Anmerkungen" finden Sie eine Liste der zuvor erkannten Skripts.

So führen Sie vorab erkannte Skripts aus:

npm start oder npm test

Um benutzerdefinierte Skripts auszuführen, müssen Sie den Befehl run :

npm run karma

Was sind npm-Skripte und wie werden sie ausgelöst?

Die npm-Skripts sind Befehle, die von npm für Sie ausgeführt werden, wenn sie mit den richtigen Argumenten aufgerufen werden. Die Kraft und der Sinn dieses Ansatzes besteht darin, NICHT die npm-Pakete zu installieren, die Ihre Umgebung global beeinflussen.

Der Unterschied zwischen Pre-erkannt und benutzerdefinierte Skripts beruht auf dem run Wort zwischen den Tags, custom Skripte wird die Notwendigkeit run zwischen npm und dem Skriptnamen

Auf dieser Grundlage können wir verschiedene Aufgaben oder Skripts differenzieren und erstellen, die mit npm ausgeführt werden.

Das folgende Beispiel für die package.json Datei package.json :

{
  "name": "MyApp",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "mocha --recursive ./tests/",
    "test:watch": "npm run test -- -w",
    "start": "nodemon --inspect ./app.js",
    "build": "rm -rf ./dist/ && gulp build"
  }
...
}

Wir können verschiedene Aufgaben sehen, die ausgeführt werden sollen:

  • npm test gut, da es sich um ein vorbekanntes Skript handelt

  • npm run test gut, da dies ein gültiger Weg ist, ein npm-Skript auszuführen

  • npm run test:watch auch, und es ruft npm run test in sich selbst auf

  • npm run build Vor dem Ausführen von gulp build der Ordner dist gelöscht, der sich im Verzeichnis befindet (vorausgesetzt, Sie befinden sich in Linux oder der Befehl rm wird erkannt).



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow