Как правильно перезапустить сервер nodemon

Когда я запускаю сервер nodejs с помощью следующей команды:

"start": "nodemon --max-old-space=8192 ./src/app.js --exec babel-node"

и я изменяю что-либо в коде, nodemon автоматически перезагружает код и перезапускает сервер со следующим сообщением.

[nodemon] restarting due to changes...
[nodemon] starting `babel-node --max-old-space=8192 ./src/app.js`

Как мне таким же образом перезапустить сервер вручную?

Или другими словами: что я должен написать в команде «перезапустить» скриптов package.json, чтобы имитировать то же поведение, которое автоматически выполняет nodemon?

Спасибо

Набираете "rs" в консоли?

Elad 11.04.2018 12:04

Я искал, как выполнить команду / обратный вызов после запуска / перезапуска Nodemon, и вы мне очень помогли :) Спасибо!

Vinicius 25.04.2021 21:03
4
2
11 944
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Как указано в документация, вы можете перезапустить вручную, набрав rs в консоли, на которой работает nodemon. Нет внешней команды для запуска перезапуска из другого процесса. Один из обходных путей - запустить перезапуск, имитируя изменение файла. Достаточно простого touch на просматриваемый файл. Таким образом, вы можете написать сценарий npm, который затрагивает один из наблюдаемых файлов.

"restart": "touch app.js"
Ответ принят как подходящий

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

Приведенный ниже код послужит этой цели.

{
    "scripts": {
        "start": "node ./src/app.js",
        "restart": "kill -9 $(ps aux | grep '\snode\s' | awk '{print $2}') && node ./src/app.js "
    },
}

Если вы специально хотите устранить ошибку "слушать EADDRINUSE: адрес уже используется" через некоторое время, вы можете проверить, какое приложение использует порт, который хочет использовать nodemon:

sudo lsof -i :4500

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

kill -9 <PID>

Источник: https://www.npmjs.com/package/nodemon

Manual restarting


Whilst nodemon is running, if you need to manually restart your application, instead of stopping and restart nodemon, you can type rs with a carriage return, and nodemon will restart your process.

Другие вопросы по теме