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

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

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

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

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

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

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

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

Ответ 1

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

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

Webstorm with nodemon

@Bela Clark, спасибо за подтверждение.

Ответ 2

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

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

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*/

а затем:

enter image description here

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

Ответ 3

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

  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

edit configurations

node parameters

Ответ 4

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

npm install -g nodemon

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

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

  • Node параметры: /usr/local/bin/nodemon --exec /usr/local/bin/node

Это даст команду интерпретатору node выполнить nodemon script с помощью следующей командной строки: 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.

Ответ 5

Для тех, кто заинтересован в решении в Windows 10, вот моя конфигурация. Он не показывает "Terminate Batch" и отлично работает.

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

Вы нажимаете debug ONCE и можете сохранять файлы изменений независимо от того, перезагрузите сервер в режиме отладки. Все brakepoints отлично работают

Ответ 6

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

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

Node: C:\Users\YOURUSER\AppData\Роуминг\npm\ node_modules\nodemon\bin\nodemon.js

Ответ 7

Вы также можете заставить его работать с 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 webstorm debug

Ответ 8

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

Nodemon + Webstorm on Windows

Ответ 9

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

enter image description here

main.js - это исходный файл для моего приложения Express.

Ответ 10

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

  • Вы можете пойти

Ответ 11

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

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

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

(osx 10.10.5, рубин 7.1.4)

НТН

Ответ 12

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

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

Ответ 13

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

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

Второй рисунок: присоединение к существующему бегущему узлу Settings enter image description here

Ответ 14

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

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

ERROR: starting inspector on failed: address already in use

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

Удачи...

Ответ 15

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

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

nodemon in webstorm