2016-04-19 16 views
0

は私のプロジェクトを開始するには、私は別の後に、別の端末ウィンドウで、順番に1を実行する必要がある4つのターミナルコマンドがあります。実行NPMスクリプトを同期

npm install 
gulp 
php -S localhost:8001 
browser-sync start --proxy "localhost:8001" --files "**/*" 

は、物事をスピードアップするために、私は論文で入れたいですpackage.jsonなどのような単一のコマンドでそれらを実行します。

scripts: { 
    "start": "npm install && gulp && php -S localhost:8001 && browser-sync start --proxy 'localhost:8001' --files '**/*'" 
} 

しかし、これは非同期でそれらを実行し、同じシェルではないのだろうか?

+0

は '&&'コマンドは、直列に実行されることを意味し、次のコマンドが実行されています。 – alexmac

+0

@AlexanderMacにご確認いただきありがとうございます。 php、gulp、browser-syncコマンドはすべて実行し続けているので、独自のシェルウィンドウが必要です。上記のコマンドで起こることを確実にする方法はありますか? – Coop

+0

コマンドの1つが継続して実行されている場合、次のコマンドは開始されません(電流は決して終了しないため)。この場合、それらを独自のシェルウィンドウで実行する必要があります。もちろん、それらは連続して実行されることはありません。 – alexmac

答えて

0

exec-syncを試して、スクリプトコマンドを1つずつ入力する必要があります。以前はエラーなしで終了した場合

var execSync = require('exec-sync'); 
 
    
 
execSync('npm install'); 
 
execSync('gulp'); 
 
execSync('php -S localhost:8001');

+0

しかし、これは' npm install'を最初に実行する必要があります。私が実行しようとしているスクリプト.... – Coop

関連する問題