Ответ 1
Ваша команда не работает, потому что вы пытаетесь запустить два процесса в одной оболочке. Вместо этого вы должны "запускать" процессы node в разные процессы. Попробуйте эту команду:
node project/rest.js & node static-server.js &
Мне нужно запустить два сервера node в другом порту, я хочу написать простую оболочку script, которая запустит оба сервера.
Я написал его, как показано ниже:
node project/rest.js && node static-server.js
но когда я запускаю команды за раз, он запускает первый сервер и не выполняет второй.
И только первый сервер прослушивает запрос, второй статический сервер не запускается. И в оболочке у меня есть выход из rest.js.
Что я раньше делал для запуска буксирных серверов, я запускаю две команды в другой оболочке.
Есть ли способ запустить оба сервера с помощью одной оболочки script?
Спасибо заранее.
Ваша команда не работает, потому что вы пытаетесь запустить два процесса в одной оболочке. Вместо этого вы должны "запускать" процессы node в разные процессы. Попробуйте эту команду:
node project/rest.js & node static-server.js &
Я написал очень простую оболочку script, для запуска MongoDB, запустите несколько серверов node в новом окне терминала и откройте Webstorm Ide.
он использует https://github.com/mklement0/ttab библиотеку для открытия новых окон терминала.
вы можете указать несколько проектов в коде и с простым, если иначе или, возможно, с оператором switch, дифференцировать проекты.
sh dev.sh waufwauf
будет работать cd и запускать проект waufwauf, надеюсь, что это поможет.
#!/bin/bash
if [ "$1" = "waufwauf" ]
then
cd Code/waufwauf;
ttab -d ./ mongod;
ttab -d server npm run dev;
ttab -d client npm run dev;
wstorm ~/Code/waufwauf;
elif [ "$1" = "" ]
then
echo specify project name;
else
echo $1 unknown project;
fi