可以将Visual Studio Codeconfiguration为使用nodemon启动
我已经在我的系统中安装了nodemon
作为全局包。 它在我在cmd中执行nodemon
时nodemon
。
但是当我用这个launch.json
文件使用vscode时,vscode抛出这个exception:
请求启动:运行时可执行文件XXX \ XXX \ XXX \ XXX \ nodemon不存在
launch.json是:
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "node", "request": "launch", "program": "app.js", "stopOnEntry": false, "args": [], "cwd": ".", "runtimeExecutable": nodemon, "runtimeArgs": [ "--nolazy" ], "env": { "NODE_ENV": "development" }, "externalConsole": false, "preLaunchTask": "", "sourceMaps": false, "outDir": null }, { "name": "Attach", "type": "node", "request": "attach", "port": 5858 } ] }
当我删除runtimeExecutable中的runtimeExecutable
它完美地运行与节点
首先,将nodemon安装为开发依赖项:
npm install --save-dev nodemon
然后,像这样设置你的启动configuration:
{ "version": "0.2.0", "configurations": [ { "name": "Launch with nodemon", "type": "node", "request": "launch", "program": "${workspaceRoot}/node_modules/nodemon/bin/nodemon.js", "args": ["${workspaceRoot}/index.js"], "runtimeArgs": ["--nolazy"] } ] }
最重要的部分是指向nodemon脚本的program
属性和保存正常入口点脚本的args
属性。
在Visual Studio代码中创build一个启动configuration:
{ "name": "Attach", "type": "node", "request": "attach", "port": 5858, "restart": true }
从命令行运行nodemon: nodemon --debug server.js
现在从VC和vuala'附加'。
我无法得到@ AdrianT的答案与附加的debugging器一起工作。 似乎有一个新的内置支持的方式来做到这一点:
- 打开启动configuration下拉菜单并select“添加configuration…”
- select“Node.js:Nodemon设置”
它会将这样的内容添加到launch.json中:
{ "type": "node", "request": "launch", "name": "nodemon", "runtimeExecutable": "nodemon", "program": "${workspaceRoot}/app.js", "restart": true, "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" }
确保你的“程序”设置是你正确的入口点脚本。
您需要全局安装nodemon才能使其工作(npm install -g nodemon)(根据文档 )
你的应用程序现在运行,你可以设置断点,将命中和控制台login到集成terminal窗口。
请注意,终止debugging会话只会终止程序debugging,而不是nodemon本身。 要终止nodemon,请在集成terminal中按Control-C。
不,目前它不能。 但是我设法使用nodemon有点工作。 我从Grunt开始。 但是一个等效的命令行也应该这样做。
编辑 :经过一个晚上的testing,我可以说下面的方法仍然有点flappy:S,附加失败间歇,有时断点被忽略。
EDIT2 :你也可以使用['--debug-brk=5860']
为nodeArgs
在Gruntfile中指定一个非默认debugging端口。 我也build议使用--debug-brk
而不是--debug
。 也许这会消除目前的飘忽。 如果有帮助的话,我会回来再提一下(我目前已经改变了项目)。
在这种情况下,它可以帮助任何人在Windows 10中使用Current VS Code版本(例如v0.10.6)中的设置。但是它也可能在Mac上也可以工作(我可能会在以后检查)。 但是请注意,我有时必须通过在debugging器启动之前更改+保存文件来触发重build。
/.vscode/launch.json
{ "configurations": [{ "name": "Launch", "outDir": null },{ "name": "Attach", "type": "node", "request": "attach", "port": 5858 }]
}
/Gruntfile.js
nodemon : { dev : { script : 'launcher.js' }, options : { ignore : ['node_modules/**', 'Gruntfile.js'], nodeArgs: ['--debug'], env : { PORT : '4123' } } }
我想debugging端口5858是默认的,因为它没有在这里指定(注意它在上面的launch.json中)。
我使用Node Exec插件。 它允许您通过按F8和F9(适用于编辑器中的打开文件)在vcs中运行和停止节点应用程序。 这可能有助于(临时)解决方法。
是的你可以! 从最近的更新中,您可以将debugging器附加到正在运行的Nodemon进程。 这个页面有更多的信息 。 search页面上的nodemon以查看说明。