Как ждать процесс в сценарии JS NPM с использованием ShellJS - PullRequest
0 голосов
/ 04 июля 2019

Версия узла: v.10.15.3

Версия ShellJS: 0.8.3

Операционная система: Windows 10

Можно ли дождаться завершения процесса, а затем запустить еще один, используя команду wait в системе Windows в скрипте NodeJS?

Я пробовал ниже, естьошибок нет, но эхо не печатается и скрипт some_npm_script не выполняется, возможно ли это?как я сделал ниже?Это работает на машине Linux.

Команды, такие как shell.exec(truncate -s 0 ./somefile.js), работают, но я не вижу команду truncate в источнике на модуле ShellJS.

shell.exec(`
echo "Installing"
yarn add some_npm_package &
pid=$!
wait $pid
echo "Done installing"
yarn some_npm_script
`);

Любая помощьприветствуется, любое объяснение, почему оно не работает, или какое-либо решение или ресурсы, спасибо.

1 Ответ

0 голосов
/ 04 июля 2019

Я достиг своей цели, переместив этот конкретный кусок кода в сценарий NPM bash / sh, а затем использовал функцию shell.exec froom shellJS для выполнения сценария bash NPM в сценарии JS NPM, например:

shell.exec(yarn bash_npm_script_name) // the script that using the wait command

Так что у меня это сработало, ожидание установки пакета и запуск сценария после его завершения.

...