2015-01-01 6 views
5

Ich mache Entwicklung mit Cordova und Yeoman + angularjs. Ich habe eine Ordnerstruktur angenommen wie folgt (Ausgabe des Befehls dir auf Windows):Grunt Ausführung stoppt Batch-Skript

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 ist der Ordner I yo angular (der Yeoman Generator-Winkel) ausgeführt haben. pgdroid ist der Ordner, in dem das Cordova-Projekt eingerichtet wird.

Grunt ist konfiguriert, um die Ausgabe meiner HTML-Entwickler arbeiten zu pgdroid\www Ordner zu kopieren. Es funktioniert gut.

Jetzt Dinge einfacher zu machen Ich habe die folgenden Batch-Skript erstellt (showapp.bat):

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 === 

Die Datei in dem Root-Verzeichnis platziert wird (siehe die erste Ausgabe geteilt hier). Die Skriptausführung wird beendet, nachdem grunt ausgeführt wurde. Ich vermute, das ist das Grunt-Programm-Verhalten. Es gibt möglicherweise keinen Erfolgsexitcode zurück, der der Grund sein könnte, warum das Skript abrupt stoppt.

Was ist die Problemumgehung dafür?

+1

Sie haben uns den Inhalt von 'pgdroid-app-frontend' nicht angezeigt. Ist 'grunt' eine Batchdatei oder eine .exe? Wenn es ein Stapel ist, dann müssen Sie 'CALL Grunt ....." – Magoo

+0

'Grunt' ist ein [nodejs] (http://nodejs.org) Programm. Es ist im Grunde eine Datei, die Javascript-Code enthält, der in ausführt Ich bin mir nicht sicher, ob es eine EXE oder eine Batch in diesem Sinne ist ... aber lass mich versuchen, einen 'Anruf' vorher hinzuzufügen ... – deostroll

+0

@Magoo, das funktioniert :) – deostroll

Antwort

9

grunt verhält sich etwas wie eine .bat (Windows Batch) Datei oder Batch Programm. Wenn Sie also innerhalb eines Batch-Programms ein anderes Batch-Programm ausführen möchten, müssen Sie davor call voranstellen.

call grunt --force 
Verwandte Themen