Ich habe 2 Ebenen von package.json
Dateien.
Beispiel ist hier:
Der Grund ist, dass die oberste Ebene eine Rails-App ist und ich alle Knoten-Tools in ein Verzeichnis namens client mit eigener package.json
-Datei setze. Die Datei " package.json
" auf oberster Ebene ist sowohl eine praktische Hilfe als auch ein Hook für das Knoten-Buildpack zum Ausführen des Skripts npm install
.
Ich habe ein Beispiel für die Weiterleitung des Befehls gulp
. Gibt es eine Möglichkeit, etwas, das nicht von der obersten Ebene package.json
gefunden wurde, generisch an die untergeordnete Ebene weiterzuleiten?
Oberste Ebene package.json
.
Unterverzeichnis package.json
Sie können npm run
-Skripts verwenden, um die Transaktion zu vereinfachen (siehe npm-scripts ). Im übergeordneten package.json
:
Wo der Client eine package.json
mit dem Befehl npm run build
hat, um den clientseitigen Code zu erstellen.
Rufen Sie npm run client-build
als Teil des Shell-Befehls anderer Tasks auf. Zum Beispiel:
Es kann hilfreich sein, das untergeordnete Projekt in ein separates Modul mit eigenem Git-Repo zu zerlegen und es durch ein Postinstall-Skript aufzubauen. Wenn in diesem Fall npm install
für das übergeordnete Projekt ausgeführt wird, hat das Kind die Möglichkeit, sich selbst zu erstellen.
%Vor%Sie könnten eine Batch-Datei schreiben, in die Sie den
gulp
-Befehl legen. Dann müssen Sie den Fehler überprüfen. Das könnte so aussehen:
%Vor%Dann müssen Sie nur das Skript in Ihrer package.json wie folgt aufrufen:
Habe das selbe bei meinem Projekt gemacht ....
EDIT: Für alle Skripte .... könnten Sie eine Batchdatei erstellen, die den Skriptnamen als Parameter verwendet. Das Skript funktioniert genauso wie oben, aber es sollte für jeden Befehl funktionieren.
HINWEIS: Sie müssen etwas wie
start path/to/batchfile.bat gulp
anstelle vonnpm run gulp
verwenden. Fehlerbehandlung funktioniert nicht für NPM-Fehler!
Das könnte so aussehen:
%Vor%Tags und Links node.js npm package.json