2

Я разрабатываю приложение nodejs со следующими задачами npm:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "watch": "webpack --progress --watch",
  "develop": "npm start && npm run watch",
  "build": "webpack --progress",
  "start": "node server.js"
}

и я хотел бы запустить два текущих процесса, запущенных в рамках одной команды в одном терминале, то есть npm run develop development (он запустит node server.js и webpack --progress --watch .

У меня вопрос, могу ли я это сделать? Если я могу, как будут отображаться журналы этих двух процессов?

2 ответа2

3

Да, ты можешь это сделать. Если у вас есть две программы, а именно prog1 и prog2, попробуйте это:

 #!/bin/bash
 prog1 2> .errorprog1.log & prog2 2> .errorprog2.log &

Это перенаправит ошибку на отдельные журналы.

Вы также можете попробовать это:

prog1 &
prog2 &

Я нашел эту ветку, которая содержит много полезных советов, которые будут полезны для вас. Пожалуйста, пройдите.

Надеюсь это поможет.

Спасибо.

2

Вы можете запустить команду в фоновом режиме, просто используя & для ее разветвления. Так

$ node server.js & $ webpack --progress --watch &

Вывод двух процессов будет смешан в терминале, что может сбивать с толку, поэтому вы можете записать их в файл

$ node server.js | tee log1 & $ webpack --progress --watch | tee log2 &

Проверьте это для более подробной информации о разветвлении.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .