Wie npm Script-Delegaten an untergeordnete package.json ausführen lassen?

8

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 .

%Vor%

Unterverzeichnis package.json

%Vor%     
justingordon 05.04.2015, 01:00
quelle

2 Antworten

7

Sie können npm run -Skripts verwenden, um die Transaktion zu vereinfachen (siehe npm-scripts ). Im übergeordneten package.json :

%Vor%

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:

%Vor%

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.

    
Dane Macaulay 15.03.2016 23:32
quelle
0
  

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:

%Vor%

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 von npm run gulp verwenden. Fehlerbehandlung funktioniert nicht für NPM-Fehler!

Das könnte so aussehen:

%Vor%     
marcel 23.04.2015 08:37
quelle

Tags und Links