У меня есть скрипт .bat, который работает следующим образом:
- Запускает сценарии сборки для каждого проекта веб-пакета в каталоге
- Ожидание 30 секунд
- Запускаетсервер, на котором размещен проект
- Открывает Chrome с вкладкой для каждого проекта
Я бы не хотел ждать 30 секунд и запустить сервер, как только все процессы сборки будут завершены.Как я могу это сделать?
Это код моего пакетного сценария:
@echo off
cd webapp
setlocal enabledelayedexpansion
set params=
FOR /D %%G IN ("*") DO (
cd %%G
@echo on
svn update
call npm install
start /B npm run dev
@echo off
set params=!params! http://localhost:9000/%%G
cd ..
)
cd ..
timeout /t 30 /nobreak
@echo on
start /B node core/server.js
start chrome /new-window !params!
РЕДАКТИРОВАТЬ: очень сложная вещь в том, что npm run dev
являетсябесконечный процесс: он продолжает работать и продолжает следить за изменениями в коде.Вот его код:
node_modules/.bin/webpack --config dev.config.js --watch
РЕДАКТИРОВАТЬ N.2:
Чтобы узнать, когда завершится процесс сборки (@SomethingDark), я могу изменить свой код следующим образом:
@echo off
cd webapp
setlocal enabledelayedexpansion
#here I don't have the watch option, so it closes on build finished
set params=
FOR /D %%G IN ("*") DO (
cd %%G
@echo on
svn update
call npm install
start /B npm run build-dev
@echo off
set params=!params! http://localhost:9000/%%G
cd ..
)
cd ..
timeout /t 30 /nobreak
@echo on
start /B node core/server.js
start chrome /new-window !params!
#here I have the watch option, so it keeps alive
FOR /D %%G IN ("*") DO (
cd %%G
@echo on
start /B npm run dev
@echo off
cd ..
)