Für ein neues Modul versuche ich es npm build
ohne gulp / Grunt / andere spezialisierte Build-Tools zu verwenden.
"scripts": {
"build": "node build.js"
},
Meine build.js ist einfach
console.log('Hello')
Allerdings läuft
npm build
Beendet einfach, ohne etwas zu drucken, mit dem Status 0.
Laufen:
npm install
Macht auch alle normalen Dinge, führt aber auch build.js nicht aus.
Wie kann ich npm dazu bringen, mein Build-Skript auszuführen?
Bearbeiten: Selbst einfache Bash-Befehle scheinen nicht zu funktionieren, z
"scripts": {
"build": "touch TESTFILE"
},
Erstellt keine Datei mit diesem Namen.
javascript
node.js
build
npm
Mikemaccana
quelle
quelle
install
stattdessen.Antworten:
Leider
npm build
ist bereits ein interner Befehl, wie in den Dokumenten beschrieben :Da dieser Befehl bereits vorhanden ist, wird er immer über Ihrem Befehl angezeigt
"build": "node build.js"
.Die vollqualifizierte Möglichkeit, ein eigenes Skript auszuführen, ist mit
run-script
oder seinem Aliasrun
:npm start
und andere sind der Kurzweg, aber nur eine Option, wenn ein vorhandener npm-Befehl ihn nicht wienpm build
folgt beschattet .Für die Nachwelt (wie bereits erwähnt)
npm build
wird von npm verwendet, um native C / C ++ - Knoten-Addons mit Node-Gyp zu erstellen . Es ist nicht gut dokumentiert, da es normalerweise automatisch geschieht, aber wenn Sie interessiert sind, ist der Quellcode hier .quelle
npm build
also? Soweit ich sehen kann,npm install
und npm ein Paket mit C / C ++ - Bindungen oder allgemein etwas findet, für dessen Ausführung Node-Gyp erforderlich ist, wird es gestartetnpm build
. Sie können diese Pakete neu erstellen, indem Sie sie einfachnpm build
alleine ausführen._build
undnpm build
sollte eine Verknüpfung wienpm start
und seinnpm test
npm build
mein Skript nicht aufgerufen wird und dass es zum Erstellen kompilierter Komponenten eines Pakets verwendet wird. Ich bin mir immer noch nicht sicher, wie das geht: Nach welchen Dateien sucht es usw.?npm build
mit Bedeutung zu füllen ...Das als "build" bezeichnete Skript
package.json
ist in keiner Weise speziell. Die einzige Möglichkeit, es zum Laufen zu bringen, besteht darin, Folgendes aufzurufen:Es gibt einige Namen, die von npm automatisch aufgerufen werden , aber "build" gehört nicht dazu. Die vollständige Liste lautet:
prepublish
,publish
,postpublish
preinstall
,install
,postinstall
preuninstall
,uninstall
,postuninstall
preversion
,version
,postversion
pretest
,test
,posttest
prestop
,stop
,poststop
prestart
,start
,poststart
prerestart
,restart
,postrestart
preCUSTOM
undpostCUSTOM
für benutzerdefinierte Skriptnamen.quelle
OK, um einen Build selbst auszuführen, verwenden Sie:
quelle
Ich hatte ein Problem damit,
npm run build
nichts zu drucken. endete mitnpm run build --verbose
, um die Ausgabe zu bekommen, die ich brauchte.quelle
Npm Build erwartet
Versuchen Sie, npm-Skripte in Ihrer package.json zu verwenden, wie beim klassischen npm-Start
quelle
npm build .
funktionieren sollte, und in meinem Fall führt npm das Skript "build" in meiner "package.json" aus, wie ich es mir erhofft hatte.