Ist es möglich, npm zum Ausführen von Skripten in mehreren Unterordnern zu verwenden?

7

Ich habe einen Ordner (ein Projekt) mit 3 Unterordnern (Client, Server, Assets). Jeder Unterordner hat einen anderen Befehl zum Starten und um an dem Projekt zu arbeiten, muss ich die 3 Apps starten. Dies ist das Ordnerlayout und die Befehle, die ich zum Starten jedes Unterprojekts verwende:

  
  • Projekt      
    • Client (ionischer Server)
    •   
    • Server (Knotenindex)
    •   
    • Assets (http-Server -p 8082)
    •   
  •   

Momentan gehe ich zu jedem der drei Ordner und starte jede der Apps. Um den Prozess zu standardisieren, hat jedes Unterprojekt eine package.json mit einem Startskript, also ich nur cd subfolder && npm start .

Meine Frage: ist es möglich, npm im übergeordneten Ordner zu verwenden (dh dort ein package.json zu schreiben), so dass ich einfach den folgenden Befehl ausführen kann und denselben ( oder ähnlicher) Effekt?

  

Projekt & gt; npm Start

Ich habe versucht, das Paket parallelshell zu verwenden, aber es hat nicht funktioniert (wahrscheinlich wegen der cd :

%Vor%     
fegemo 25.09.2015, 13:58
quelle

2 Antworten

4

Das Problem ist, dass alle drei Skripte serverstartähnliche -Skriptaufgaben sind, was bedeutet, dass sie nicht wie eine Erstellungsaufgabe (zum Beispiel) funktionieren, die ausgeführt wird für 10s und stoppe den Prozess.

Für jeden einzelnen starten Sie ihn , und der Prozess wird unbestimmt fortgesetzt .

Sie könnten alle auf eine Daemon-Art mit etwas wie forever starten, aber in Ihrem Fall befinden Sie sich im Dev-Modus (also wollen Sie alle Protokolle , und Sie wollen nicht die Fehler von dem Nodejs-Server gemischt mit dem ionischen ...).

Falls es Ihnen nichts ausmacht, Protokolle zu mischen: Ссылка (Ich nehme an, dass dies fast dasselbe ist wie Parallele ...)

    
topheman 25.09.2015, 20:54
quelle
21

Sie können "gleichzeitig" verwenden, um dies zu erreichen. Sie würden also eine package.json erstellen, die ungefähr wie folgt aussieht:

%Vor%

Hinweis: Dies startet alle drei Prozesse gleichzeitig, was bedeutet, dass Sie gemischte Ausgabe von allen dreien erhalten (wie Topheman bereits erwähnt)

    
Thomas Sparber 09.03.2016 13:53
quelle

Tags und Links