2013-10-04 2 views
61

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

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

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

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

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

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

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

+0

Этот вопрос, кажется, по тем же направлениям: http://stackoverflow.com/questions/11175041/script-fails-in-webstorm-but-not-from-terminal?rq=1 – nwinkler

ответ

94

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

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

Webstorm with nodemon

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

+0

Просто попробовал - теперь он отлично работает. Спасибо за предоставление обновленного ответа! – nwinkler

+6

@bernhardw, webstorm не останавливается на контрольных точках при запуске отладчика с этими конфигурациями. Любая идея почему? –

+1

такой же здесь. точка останова вообще не попадает – John

14

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

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 отлично работает при запуске из Run Configuration WebStorm .

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

+1

Это работает для Run Конфигурация, но не с помощью Debug. Любая идея отладки также с nodemon в webstorm? –

+3

По крайней мере, с Webstorm 8 EAP и nodemon 1.0.15 вам больше не нужно указывать '--exec'. Все, что мне нужно было сделать, это использовать «/ usr/local/bin/nodemon» в «Параметры узла». – bernhardw

+0

@bernhardw: Я могу подтвердить то же самое –

17

Я на 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 \ НПМ \ node_modules \ супервизора \ Lib \ CLI-wrapper.js -no-рестарт-на ошибки

edit configurations

node parameters

+0

Чтобы остановиться в точке останова, вы должны добавить следующее: '--debug-brk' и полная строка' C: \ Users \ \ AppData \ Роуминг \ npm \ node_modules \ supervisor \ lib \ cli-wrapper.js no-restart-on error --debug-brk' Проверка со стороны струйных мозгов http://www.jetbrains.com/phpstorm/webhelp/run-debug-configuration-node-js.html адрес – uzay95

+1

Couldn 't получить nodemon, работающий в Windows 8 с Webstorm 9, это работало как шарм tho –

+0

Это также сработало для меня. Windows 7, WebStorm 9.0.3 – Zubzob

29

Это решение для 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*/ 

, а затем:

enter image description here

Надеется, что это поможет.

+0

Я думал, что это был самый прямой ответ. –

+6

Привет, Пробовал это, и когда я меняю файл, он спрашивает меня (в консоли Web Storm) «Завершить пакетное задание (Y/N)?». Я также вижу, что выполняемая команда: «C: \ Program Files (x86) \ JetBrains \ WebStorm 8.0.4 \ bin \ runnerw.exe" C: \ Users \ xyz \ AppData \ Роуминг \ npm \ nodemon.cmd - -debug-brk = 27344 --nolazy -q app.js. Я ничего не теряю? –

+1

для задачи «прекратить пакетное задание» просто добавьте «

0
  1. ли установить НПМ nodmemon -g
  2. только изменить путь к узлу в nodemon.cmd, в моем случае (C: \ Users \ Рохит Taneja \ AppData \ Roaming \ НПМ \ nodemon.cmd), вы также получите этот путь после завершения установки nodemon.

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

3

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

Nodemon + Webstorm on Windows

+0

см. Мой ответ на этот вопрос в Windows, я думаю, вы указали на неправильный файл nodemon.cmd –

1

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

enter image description here

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

0

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

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

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

(OSX 10.10.5, RubyMine 7.1.4)

НТН

5

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

Узел Переводчик: Путь к узлу node.exe, то есть c: \ program files \ node \ node.exe

Параметр узла: C: \ Users \ YOURUSER \ AppData \ Роуминг \ npm \ node_modules \ nodemon \ bin \ nodemon.js

+2

сейчас, отладка с точкой останова не работает! –

11

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

enter image description here

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

+0

Это рабочий ответ для отладки. Я задал только параметры узла. Параметры узла в виде текста (изменить имя пользователя): c: \ users \ username \ AppData \ Роуминг \ npm \ node_modules \ nodemon \ bin \ nodemon.js --debug = 3001 –

0

НПМ установки -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 

enter image description hereenter image description here

1

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

Сохранить и отлаживать respponsibally :)

Node.js nodemon webstorm debug

Смежные вопросы