Відповіді:
назавжди модуль має концепцію декількох серверів node.js і може запускати, перезапускати, зупиняти та перераховувати поточні сервери. Він також може спостерігати за зміною файлів і за необхідності перезапустити вузол.
Встановіть його, якщо у вас його ще немає:
npm install forever -g
Після встановлення зателефонуйте foreverкоманді: використовуйте -wпрапор, щоб переглянути файл за змінами:
forever -w ./my-script.js
Крім того, ви можете дивитися каталог та ігнорувати шаблони:
forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file
forever -c babel-node -w --watchDirectory ./server ./server/index.js але, на жаль, здається, що назавжди надсилається в хвостовик, і він перезапускає сервер занадто часто, в результаті чого порт вже використовує помилки використання ... чи є тут додати паузу після перезавантаження?
-tабо killTreeпотрібна опція, я думаю, що вузол-вавіл був убитий, але не сервер Express, який він породив.
Хороший варіант - Node-supervisor і Node.js Перезапуск файлів Зміна файлів - це добра стаття про те, як ним користуватися, як правило:
npm install supervisor -g
а після переходу до кореня програми використовуйте наступне
supervisor app.js
server.jsоскільки він постійно перезапускався, це було пов’язано з тим, що мій сервер будував клієнта під час завантаження і таким чином міняв файли. supervisor --watch server.js server.jsвирішили це.
Ви повинні подивитися на щось на зразок нодемона .
Nodemon буде дивитися файли в каталозі, в якому було запущено nodemon, і якщо вони зміниться, він автоматично перезапустить вашу програму вузла.
Приклад:
nodemon ./server.js localhost 8080
або просто
nodemon server
Для полегшення цього завдання доступні різні пакети NPM.
Для розвитку
Для виробництва (з розширеним функціоналом, таким як кластеризація, віддалене розгортання тощо)
npm install -g pm2npm install -g strongloopПорівняння між назавжди, ПМ2 і StrongLoop можна знайти на StrongLoop сайту.
Можна також спробувати нодемон
Щоб встановити Nodemon
npm install -g nodemon
Для використання Nodemon
Зазвичай ми запускаємо програму вузлів на зразок:
node server.js
Але тут ви повинні зробити так:
nodemon server.js
вузол-дев
node-dev - це відмінна альтернатива як nodemon, так і супервізору для розробників, які хочуть отримувати бурхливі (або libnotify) сповіщення на робочому столі кожного разу, коли сервер перезапускається або коли у файлі виникають помилки або зміни .
Установка:
npm install -g node-dev
Використовуйте node-dev замість вузла:
node-dev app.js
Повідомлення про зміну файлу, щоб сервер запустився автоматично
консоль поставити
run, і як це порівняти з існуючими альтернативами. Просто скидання іншого варіанту лише сприяє парадоксу вибору. (На щастя run, не оновлювались з 2015 року, тому зараз це не так багато варіантів.)
Виконайте дії:
npm install --save-dev nodemon
Додайте наступні два рядки до розділу "скрипт" пакета package.json:
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
як показано нижче:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node ./bin/www",
"devstart": "nodemon ./bin/www"
}
npm run devstarthttps://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website