Перезагрузите node после смены файла

Для тех, кто приходит с фона PHP, процесс убийства node и запуск его после каждого изменения кода кажется очень утомительным. Есть ли какой-либо флаг при запуске script с node для автоматического перезапуска node при сохранении смены кода?

Ответ 1

forever module имеет концепцию нескольких серверов node.js и может запускать, перезапускать, останавливать и перечислять текущие серверы. Он также может следить за сменой файлов и перезапускать node по мере необходимости.

Используйте флаг -w для просмотра файла для изменений:

forever -w ./my-script.js

Кроме того, вы можете смотреть каталог и игнорировать шаблоны:

forever --watch --watchDirectory ./path/to/dir --watchIgnore *.log ./start/file

Ответ 3

Вы, мой друг, захотите посмотреть на что-то, называемое nodemon (https://github.com/remy/nodemon)

Nodemon будет смотреть файлы в каталоге, в котором запускался nodemon, и если они будут изменены, он автоматически перезапустит ваше приложение node.

Пример:

nodemon ./server.js localhost 8080

или просто

nodemon server

Ответ 4

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

Установка Nodemon

npm install -g nodemon

Чтобы использовать Nodemon

Обычно мы запускаем программу node, например:

node server.js

Но здесь вы должны сделать, как:

nodemon server.js

Ответ 5

Различные NPM доступны, чтобы сделать жизнь легкой.

Для развития

node-dev: npm install -g node-dev
nodemon: npm install -g nodemon
supervisor: npm install -g supervisor
forever: npm install -g forever

Для производства (с расширенными функциями, такими как кластеризация, удаленное развертывание и т.д.)

pm2: npm install -g pm2
Strong Loop Process Manager: npm install -g strongloop

Сравнение между Forever, pm2 и StrongLoop можно найти на веб-сайте StrongLoop.

Ответ 6

Я использую runjs как:

runjs example.js

Пакет называется просто run

npm install -g run

Ответ 7

node -dev

node -dev - отличная альтернатива как nodemon, так и супервизору для разработчиков, которым нравится получать уведомления о ролях (или libnotify) на своем рабочем столе всякий раз, когда сервер перезагружается или когда есть error или изменить в файле.

Установка:

npm install -g node-dev

Используйте node -dev вместо node:

node-dev app.js

Уведомление об изменении файла, чтобы сервер запускался автоматически

введите описание изображения здесь

console out put

введите описание изображения здесь