2015-01-01 16 views
5

Robię rozwój z cordova i yeoman + angularjs. Mam przyjęła strukturę folderów następująco (dane wyjściowe polecenia dir na Windows):Gruntowa realizacja zatrzymuje skrypt wsadowy

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 to folder Zabrakło mi yo angular (the Yeoman generator-kątowej). pgdroid to folder, w którym został skonfigurowany projekt cordova.

Grunt jest skonfigurowany do kopiowania danych wyjściowych mojej pracy deweloperskiej HTML do folderu pgdroid\www. To działa dobrze.

teraz, aby ułatwić stworzyłem skrypt dodaje wsadowy (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 === 

plik jest umieszczony w katalogu głównym (patrz pierwsze wyjście wspólne tutaj). Wykonanie skryptu zatrzymuje się po wykonaniu gruntu. Zgaduję, że to jest zachowanie programowe. Prawdopodobnie nie zwraca kodu zakończenia powodzenia, co może być powodem nagłego zatrzymania skryptu.

Co obejść w tym celu?

+1

Nie pokazałeś nam treści 'pgdroid-app-frontend'. Czy 'grunt' to plik wsadowy lub .exe? Jeśli jest to partia, musisz "CALL Grunt ....." – Magoo

+0

'grunt' to program [nodejs] (http://nodejs.org) .Po prostu jest to plik zawierający kod javascript, który wykonuje w środowisko uruchomieniowe nodejs. Nie jestem pewien, czy jest to exe czy partia w tym sensie ... ale pozwól mi spróbować dodać 'call' przed nim ... – deostroll

+0

@Magoo, który działał :) – deostroll

Odpowiedz

9

grunt jest nieco zachowuje się jak plik .bat (Windows batch) lub partii programu. W związku z tym w programie wsadowym, jeśli chcesz wykonać inny program wsadowy, musisz przed nim przedrostek call.

call grunt --force 
Powiązane problemy