我想在WebStorm IDE(版本7)中使用nodemon。 Nodemon监视源文件夹中的一个或多个文件,并在其中一个源文件发生更改时重新启动节点进程(在本例中为Express服务器)。
如何配置WebStorm以在运行配置中使用nodemon,以便自动重新启动节点进程?
如果没有nodemon,我在WebStorm中使用以下配置,但每当我在源文件中更改某些内容时都必须重新启动节点进程:
/usr/local/bin/node
/Users/foo/test
server.js
这会导致在指定目录中运行node server.js
的运行配置。
从命令行,我可以使用以下命令来使用nodemon来监视文件更改:项目目录中的nodemon server.js
。
如何更改WebStorm配置以便它还使用nodemon?
看起来不再需要使用--exec
的解决方法了,至少在使用最新版本的nodemon和Webstorm 7或8时。
您所要做的就是在“节点参数”下指定nodemon的路径(例如/usr/local/bin/nodemon
):
@Bela Clark,谢谢你的确认。
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)
HTH
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
这是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*/
然后 :
希望它会对你有所帮助。
我在Windows上并且对我来说没有使用nodemon(不知道为什么),但是来自Jetbrains的人建议尝试与主管:
npm install supervisor -g
supervisor
安装在哪里,对我来说是:C:\Users\AlinC\AppData\Roaming\npm\node_modules\supervisor\lib\cli-wrapper.js –no-restart-on error
要安装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
可执行文件的位置。
使用这些设置,从WebStorm运行配置运行时,nodemon可以正常工作。
对于类似于nodemon的一些工具,可能必须使用相同的技巧,例如node-supervisor。
对于Windows用户设置:
节点解释器:node.exe的路径,即c:\ program files \ node \ node.exe
节点参数:C:\ Users \ YOURUSER \ AppData \ Roaming \ npm \ node_modules \ nodemon \ bin \ nodemon.js
这是适用于Windows 7 + WebStorm 8.0.4的配置。如果我把nodemon.cmd作为节点解释器,我一直得到“终止批处理作业(Y / N)?”。
您也可以使用nvm,调试仍然有效。
使用Node.js 8.1.0和Webstorm 2017.2进行测试
首先确保您使用的是正确的版本(在我的情况下是v8.1.0)并在全局安装nodemon -
nvm use v8.1.0
npm install -g nodemon
然后,打开运行/调试配置并使用正确的节点解释器创建一个新配置。
节点参数应该是:
苹果电脑
/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 :)
其中一些答案似乎只适用于Mac。对于Windows,此配置似乎有效(我在Windows 7上的用户名是denman)。
main.js是我的Express应用程序的起始点文件。