如何使用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这&#x662F;

  1. 使用node.exe RemoteDebug.js <your_javascript_file>运行node.exe RemoteDebug.js <your_javascript_file>
    当您安装NTVS时, RemoteDebug.js已经到来。
  2. 在Visual Studio中,select“ Debug >“ Attach to Process
  3. 为TransportselectNode.js remote debugging
  4. 为Qualifierinputlocalhost:5859
  5. 点击Attach

这将使Visual Studio处于debugging模式,您可以设置一个断点,进入/退出,使用VSdebugging.NET应用程序时的体验非常相似。

它与NTVS非常直接,你可以在这里从你的Windows下载所需的版本

一旦你安装NTVS,NodeJS项目模板将被添加

现在,转到文件 – >新build项目 – >基本的NodeJS Express 3应用程序( 它将在JavaScript项目模板中可用

现在开始debugging ,selectStart Debugging ,在需要的地方添加断点,然后开始debugging