如何使用Visual Studio 2013和节点工具NTVSdebuggingnode.js应用程序
我已经将一个现有的node.js + express项目移到了VS,因为现在我更喜欢使用IDE而不是JetBrains(使用VS多年,只能窥探到Webstorm)。
我用NTVS新项目 – >从现有的来源和所有文件已成功导入。
之后,我打开了我的项目的项目设置,并将node.exe参数设置为bin \ www,启动文件为express。
当我按F5(debugging),我得到了console.log消息,我已经把WWW和app.js文件在打开命令提示符,它看起来像服务器正在运行(无法确认,我想debugging,如果一切工作),但VSdebugging器直接退出,它也不打开任何页面在我select用于debugging的浏览器。
我的节点应用程序实际上是一个REST的web服务,所以我想用不同的参数testing不同的URL。
此外,我不能访问我指定的端口上的应用程序,虽然当我直接从node.exe启动它,我可以,即使命令提示符仍然打开。
(我安装了NTVS和WebEssentials – 一些操作需要很长时间,但是我把它归因于NTVS还是一个早期版本。)
问题: Visual Studiodebugging器如何保持连接到node.js应用程序,以便我可以使用断点并使用任何浏览器来连接和testing不同的URL? (即使是在启动期间打印的console.log上放置的断点也不会被触发。)
对于收到的每个人,以及search到的人都会发现….
(是的,我花了很长时间寻找和尝试之前张贴在这里..)
用VSdebuggingnode.js服务器
希望这可以帮助别人
编辑:node.exe的参数可能很难在图像中读取。 一定是
--debug=<portno>
用两个破折号(而不是一个)来指定debugging端口。
没有这么多关于expressjs
知识,但是最近发布的expressjs
1.0 Alpha,我确实发现它支持远程debugging,也可以用来debugging在本地运行的nodejs
应用程序 – 无论如何,如果它与nodejs app + expressjs一起工作,应该。
我跟着这个video的步骤https://youtu.be/-ir9ZB8lUg4这是
- 使用
node.exe RemoteDebug.js <your_javascript_file>
运行node.exe RemoteDebug.js <your_javascript_file>
。
当您安装NTVS时,RemoteDebug.js
已经到来。 - 在Visual Studio中,select“
Debug
>“Attach to Process
- 为Transportselect
Node.js remote debugging
- 为Qualifierinput
localhost:5859
- 点击
Attach
这将使Visual Studio处于debugging模式,您可以设置一个断点,进入/退出,使用VSdebugging.NET应用程序时的体验非常相似。
它与NTVS非常直接,你可以在这里从你的Windows下载所需的版本
一旦你安装NTVS,NodeJS项目模板将被添加
现在,转到文件 – >新build项目 – >基本的NodeJS Express 3应用程序( 它将在JavaScript项目模板中可用 )
现在开始debugging ,selectStart Debugging ,在需要的地方添加断点,然后开始debugging