Как я могу запустить 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
) в разделе "Параметры узла":
@ Бела Кларк, спасибо за подтверждение.
Это решение для 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:
Я установил супервизор:
npm install supervisor -g
Тогда найди где
supervisor
установлено, для меня было в:C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error
Я вернулся к 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
Это единственное, что у меня сработало:
- Добавьте новую команду сценария запуска узла package.json:
- Создайте NPM CONFIG (не конфигурацию узла)
- В качестве команды выберите "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
Сохранить и отладить ответственно:)
Вот конфигурация, которая работает для меня в Windows 7 + WebStorm 8.0.4. Если я добавляю nodemon.cmd в качестве интерпретатора узла, я получаю "Завершить пакетное задание (Y/N)?".
Некоторые из этих ответов работают только для Mac. Для Windows эта конфигурация работает (мое имя пользователя в Windows 7 - denman).
main.js является отправной точкой для моего приложения Express.
У меня есть разработка для Mac, и, как показывает OdkoPP, я заставил ее работать
"scripts": {
"build": "tsc",
"dev": "nodemon src/index.ts --exec ts-node"
},
- Сделать npm установить nodmemon -g
Измените только путь к узлу на nodemon.cmd. В моем случае (C:\Users\Rohit Taneja\AppData\Roaming\npm\nodemon.cmd) вы также получите этот путь после завершения установки nodemon.
Ты хорош идти
Просто добавьте новый скрипт в package.json
называется nodemon (или выберите свое имя)
"scripts": {
...
"nodemon": "nodemon ./bin/www"
}
Затем перейдите в Run/Debug Configuration и добавьте конфигурацию npm. Установлен
- Команда "бежать"
- Скрипт для "nodemon" (имя, которое вы выбрали в package.json)
Вот как я бегу
Установленный пакет nodemon
npm install -g nodemon # ИЛИ используя yarn: yarn global add nodemon
Из терминала 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