npm
npm-Skripte
Suche…
Syntax
- Mit der Eigenschaft "scripts" in
package.json
können Sie npm-Pakete lokal ausführen. - Das Skript
"karma": "karma"
verweist darauf, dass daskarma
Shell-Skript dasnode_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 derpublish
des Paketspostpublish
-
preinstall
: Ausführen, bevor das Paket installiert wird -
install
,postinstall
: Nach der Installation des Paketspostinstall
-
preversion
,version
: Ausführen, bevor die Paketversionpreversion
wird -
postversion
: Nach dem Bump die Paketversionpostversion
-
pretest
,test
,posttest
:posttest
mit dem Befehlnpm test
ausgeführt -
prestop
,stop
,poststop
:poststop
mit dem Befehlnpm stop
ausgeführt -
prestart
,start
,poststart
:poststart
mit dem Befehlnpm start
ausgeführt -
prerestart
,restart
,postrestart
: Führen Sie von demnpm restart
- Befehl. Hinweis:npm restart
führt die Stopp- und Startskripts aus, wenn keinrestart
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 handeltnpm run test
gut, da dies ein gültiger Weg ist, ein npm-Skript auszuführennpm run test:watch
auch, und es ruft npm run test in sich selbst aufnpm run build
Vor dem Ausführen vongulp build
der Ordnerdist
gelöscht, der sich im Verzeichnis befindet (vorausgesetzt, Sie befinden sich in Linux oder der Befehlrm
wird erkannt).