2015-01-01 8 views
5

私はcordovaとyeoman + angularjsで開発しています。次のように私は(Windows上でdirコマンドの出力)フォルダ構造を採用している:バランスクリプトがバッチスクリプトを停止します

C:\code\cordova\pg-droid-app>dir 
Volume in drive C is OSDisk 
Volume Serial Number is 404D-C81B 

Directory of C:\code\cordova\pg-droid-app 

01/01/2015 03:46 PM <DIR>   . 
01/01/2015 03:46 PM <DIR>   .. 
01/01/2015 03:10 PM <DIR>   pgdroid 
01/01/2015 03:50 PM <DIR>   pgdroid-app-frontend 
01/01/2015 03:50 PM    241 showapp.bat 
       1 File(s)   241 bytes 
       4 Dir(s) 65,102,319,616 bytes free 

pgdroid-app-frontendは私がyo angular(ヨーマン・ジェネレータ-角度)を実行したフォルダです。 pgdroidは、コードバプロジェクトが設定されているフォルダです。

gruntは、自分のHTML開発作業の出力をpgdroid\wwwフォルダにコピーするように設定されています。それはうまく動作します。 (ここでは共有される第1の出力を参照してください)ファイルがルートディレクトリに置かれ

echo === Running grunt... === 
cd pgdroid-app-frontend 
grunt --force 
echo === End Running grunt... === 
echo === Running cordova emulator === 
cd ..\pgdroid 
cordova run android 
cd .. 
echo === End Running cordova emulator === 

:物事がより簡単に、私は次のバッチスクリプト(showapp.bat)を作成して作るために今

。 gruntが実行されると、スクリプトの実行が停止します。私はこれがプログラムの不平らしさだと推測しています。おそらく、スクリプトが突然停止する理由である可能性のある成功終了コードを返さないでしょう。

これにはどのような回避策がありますか?

+1

'pgdroid-app-frontend'の内容は表示されていません。 'grunt'はバッチファイルか.exeですか?それがバッチの場合、あなたは '' Grunt ..... 'を呼び出す必要があります。 – Magoo

+0

'' grunt'は[nodejs](http://nodejs.org)プログラムです。基本的には、実行するjavascriptコードを含むファイルですnodejsランタイム環境。私はそのexeかバッチがこの意味ではわかりません...しかし、前に 'call'を追加してみましょう... – deostroll

+0

@Magoo that worked :) – deostroll

答えて

9

gruntは、.bat(ウィンドウバッチ)ファイルまたはバッチプログラムのように多少動作します。したがって、バッチプログラム内で、別のバッチプログラムを実行する場合は、前に接頭語callを付ける必要があります。

call grunt --force 
関連する問題