Как я могу запустить nodemon изнутри WebStorm?

Я хотел бы использовать nodemon из среды IDE WebStorm (версия 7). Nodemon просматривает один или несколько файлов в моей исходной папке и перезапускает процесс узла (в данном случае сервер Express), когда один из исходных файлов изменяется.

Как настроить WebStorm для использования nodemon в конфигурации запуска, чтобы процесс узла автоматически перезапускался?

Без nodemon я использую следующую конфигурацию в WebStorm, но мне приходится перезапускать процесс узла всякий раз, когда я что-то изменяю в исходном файле:

  • Узел-переводчик: /usr/local/bin/node
  • Рабочий каталог: /Users/foo/test
  • Файл JavaScript: server.js

Это приводит к запуску конфигурации, которая выполняется node server.js в указанном каталоге.

Из командной строки я могу использовать следующую команду, чтобы использовать nodemon для отслеживания изменений файла: nodemon server.js в каталоге проекта.

Как мне нужно изменить конфигурацию WebStorm, чтобы он также использовал nodemon?

19 ответов

Решение

Похоже, обходной путь с --exec больше не требуется, по крайней мере, при использовании новейшей версии nodemon и Webstorm 7 или 8.

Все, что вам нужно сделать, это указать свой путь к nodemon (например, /usr/local/bin/nodemon) в разделе "Параметры узла":

Веб-шторм с помощью nodemon

@ Бела Кларк, спасибо за подтверждение.

Это решение для Windows

Вы можете просто использовать nodemon.cmd вместо узла, например:

Node interpreter : C:\MyPath\To\nodemon.cmd
Node parameters : /*Empty for me*/
Node WorkingDirectoy : C:\Users\MyUserName\Desktop\DirectoryContainingMyIndex.js
JavaScriptFile : app\index.js /*or just index.js depending on your config*/

а потом:

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

Чтобы установить nodemon, используйте следующее (при необходимости используйте sudo для запуска установки с правами root:

npm install -g nodemon

Это установит nodemon глобально на вашем компьютере.

Затем в конфигурацию запуска WebStorm добавьте следующее, оставив все остальное без изменений:

  • Параметры узла: /usr/local/bin/nodemon --exec /usr/local/bin/node

Это даст команду интерпретатору узла выполнить nodemon скрипт с использованием следующей командной строки: node /usr/local/bin/nodemon --exec /usr/local/bin/node server.js,

--exec часть важна, так как выполнение завершится с ошибкой:

/usr/local/bin/node /usr/local/bin/nodemon server.js
4 Oct 13:56:50 - [nodemon] v0.7.10
4 Oct 13:56:50 - [nodemon] to restart at any time, enter `rs`
4 Oct 13:56:50 - [nodemon] watching: /Users/foo/test
execvp(): No such file or directory
4 Oct 13:56:50 - [nodemon] starting `node server.js`
4 Oct 13:56:50 - [nodemon] exception in nodemon killing node
Error: spawn ENOENT
    at errnoException (child_process.js:980:11)
    at Process.ChildProcess._handle.onexit (child_process.js:771:34)

Кажется, ошибка вызвана тем, что WebStorm не видит node исполняемый файл на своем пути.

Исправление для этого состоит в том, чтобы указать местоположение node исполняемый с использованием --exec /usr/local/bin/node параметр.

Используя эти настройки, nodemon отлично работает при запуске из конфигурации запуска WebStorm.

Тот же трюк, возможно, придется использовать с некоторыми инструментами, похожими на nodemon, например, node-supervisor.

Я на Windows и для меня не работал с nodemon (понятия не имею, почему), но кто-то из Jetbrains предложил попробовать с supervisor:

  1. Я установил супервизор: npm install supervisor -g

  2. Тогда найди где supervisor установлено, для меня было в: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

  3. Я вернулся к Intellij: отредактировал конфигурации -> параметры узла -> и добавил: C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error

редактировать конфигурации

параметры узла

Для тех, кто заинтересован в решении для Windows 10, вот моя конфигурация. Это не показывает вещь "Завершить пакет" и работает отлично.

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

Вы нажимаете отладку ОДИН РАЗ, а затем можете сохранить файлы изменений, и сервер перезапустится в режиме отладки. Все тормозные точки работают отлично

Для пользователей Windows установлено:

Интерпретатор узла: Путь к node.exe, т.е. c:\program files\node\node.exe

Параметр узла: C:\Users\YOURUSER\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

Если вы установили nodemon как глобальную библиотеку, просто установите в параметрах узла:

C: \ Users \ $ {yourUser} \ AppData \ Roaming \ НПМ \node_modules\nodemon\ Bin\nodemon.js

Это единственное, что у меня сработало:

  1. Добавьте новую команду сценария запуска узла package.json:

  1. Создайте NPM CONFIG (не конфигурацию узла)
  2. В качестве команды выберите "start-watch"

Для меня это сработало для отладки / точек останова без проблем или дополнительной головной боли.

Вы также можете заставить его работать с nvm, и отладка все еще работает.

Протестировано с Node.js 8.1.0 и Webstorm 2017.2

Сначала убедитесь, что вы используете правильную версию (в моем случае v8.1.0) и глобально установите nodemon -

nvm use v8.1.0
npm install -g nodemon

Затем откройте конфигурацию Run/Debug и создайте новую с правильным интерпретатором узлов.

Параметры узла должны быть:

MAC

/Users/[YOUR_USER]/.nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

LINUX

/usr/local/nvm/versions/node/v8.1.0/bin/nodemon --inspect=3001

Сохранить и отладить ответственно:)

Node.js отладка веб-шторма nodemon

Вот конфигурация, которая работает для меня в Windows 7 + WebStorm 8.0.4. Если я добавляю nodemon.cmd в качестве интерпретатора узла, я получаю "Завершить пакетное задание (Y/N)?".

Nodemon + Webstorm в Windows

Некоторые из этих ответов работают только для Mac. Для Windows эта конфигурация работает (мое имя пользователя в Windows 7 - denman).

main.js является отправной точкой для моего приложения Express.

У меня есть разработка для Mac, и, как показывает OdkoPP, я заставил ее работать

"scripts": {
"build": "tsc",
"dev": "nodemon src/index.ts --exec ts-node"
},

Конфигурации запуска / отладки npm:

  1. Сделать npm установить nodmemon -g
  2. Измените только путь к узлу на nodemon.cmd. В моем случае (C:\Users\Rohit Taneja\AppData\Roaming\npm\nodemon.cmd) вы также получите этот путь после завершения установки nodemon.

  3. Ты хорош идти

Просто добавьте новый скрипт в package.json называется nodemon (или выберите свое имя)

"scripts": {
  ...
  "nodemon": "nodemon ./bin/www"
}

Затем перейдите в Run/Debug Configuration и добавьте конфигурацию npm. Установлен

  • Команда "бежать"
  • Скрипт для "nodemon" (имя, которое вы выбрали в package.json)

пример

Вот как я бегу

  1. Установленный пакет nodemon

    npm install -g nodemon # ИЛИ используя yarn: yarn global add nodemon

  2. Из терминала Webstorm запустите

    nodemon index.js

Вот как он будет работать в терминале

Вот исправление ошибки, которую я получаю...

Если вы используете Windows + NodeJS + nodemon. С IntelliJ - Запустите конфигурацию.

ERROR: starting inspector on failed: address already in use

Когда я использую nodemon версии 1.19.1, я получаю сообщение об ошибке. Когда я использую nodemon версии 1.18.11, это работает!

Удачи...

За комментарий @bernhardw, так как это был ответ для меня -

Все нужно это /usr/local/bin/nodemon под node parametersРаботает для запуска и отладки, так как перезапускается после изменений, но отладка с точкой останова не работает.

Бонус: добавьте -e для дополнительного расширения, например /usr/local/bin/nodemon -e js,html,jade

(osx 10.10.5, rubymine 7.1.4)

НТН

npm install -g nodemon

1* goto run->Edit Configurations->Press'+' at left corner and choose Node.js

2* Select Node.js and Press '+' 

3* Name as Nodemon, add path in javaScript file: C:\Users\Your_User_Name\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js

4* Click Apply and Ok

5* Run the Nodemon

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

Скрипт в package.json: "start": "nodemon --inspect -r babel-register src",

Первая картинка: запустите отладку, и она запустится

Второй рисунок: присоединение к существующему работающему узлу настройки

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