2016-09-10 1 views
4

Я хочу запустить сервер узлов с файлом .bat, потому что каждый раз, когда я его запускаю, нужно запускать задачу grunt. Я попытался следующие строки в start.bat:Запустить сервер узла с .bat-файлом

grunt build 
node index.js 

Когда я выполняю его, он просто запускает команду grunt build, а затем останавливается. Если я удалю команду grunt build, она просто запустит node index.js. Что я делаю не так?

ответ

4

Попробуйте его с call как так

call grunt build 
node index.js 
+0

Почему мне не нужен 'call' on' node index.js'? – landunder

+1

«Проблема» заключается в том, что «grunt» - это еще один командный файл, который заставляет «root» командный файл останавливаться при его выходе. Поскольку узел не является пакетным файлом, а .exe, он вам не нужен. – DAXaholic

1

Если связать команды вместе с & & он будет убедиться, что первый будет запущен, а затем второй. grunt build && node index.js Если вы хотите, чтобы они были на отдельных линиях, морковь удалит новые линии. grunt build &&^ node index.js

+0

Глядя на это снова, это решение является скорее взломом, чем чем-либо. Я считаю, что ответ DAXaholic является более правильным способом достижения этого. – Squirrel

+0

Даже если это взломать, он работает лучше, потому что вам не нужно подтверждать абортов программы. И кажется, что это немного быстрее. – landunder