如何使用Visual Studio 2013和Node Tools NTVS调试node.js应用程序

时间:2014-10-24 18:31:30

标签: javascript node.js debugging visual-studio-2013 ntvs

我已将一个现有的node.js + express项目移动到VS,因为我现在更喜欢IDE而不是JetBrains(多年来使用VS,只是窥视Webstorm)。

我使用NTVS新项目 - >来自现有来源,所有文件都已成功导入。

之后,我打开了项目的项目设置,并将node.exe参数设置为bin \ www,启动文件为express。

当我按F5(调试)时,我收到我在开启命令提示符下放入www和app.js文件的console.log消息,看起来服务器正在运行(无法确认,我想要调试,如果一切正常),但VS调试器再次直接退出,它也不会打开我选择进行调试的浏览器中的任何页面。

我的节点应用程序实际上是一个REST Web服务,因此我想测试具有不同参数的不同URL。

此外,我无法访问我指定的端口上的应用程序,但是当我从node.exe直接启动它时,我可以,即使命令提示符仍然打开。

(我安装了NTVS和WebEssentials - 有些操作需要很长时间,但我认为这仍然是NTVS的早期版本。)

问题: Visual Studio调试器如何与node.js应用程序保持连接,以便我可以使用断点并使用任何浏览器连接并测试不同的URL?(甚至断点放在在启动期间打印的console.log未被触发。)

3 个答案:

答案 0 :(得分:24)

对于要求收到的每个人,以及搜索的人......

(是的,我确实花了很长时间搜索并尝试发布到这里..)

Settings

很高兴使用VS ..调试node.js服务器

希望这有助于某人

编辑:在图像中很难读取node.exe的参数。一定是

 --debug=<portno>

用两个短划线(而不仅仅是一个)来指定调试端口。

答案 1 :(得分:2)

关于expressjs的知识不多,但最近发布的NTVS 1.0 Alpha,我发现它支持远程调试,也可用于调试本地运行的nodejs应用程序 - 无论如何,如果它与nodejs app + expressjs一起使用还没有尝试,但它应该。

我按照此视频https://youtu.be/-ir9ZB8lUg4中的步骤进行了操作

  1. 使用node.exe RemoteDebug.js <your_javascript_file>运行您的nodejs 安装NTVS时出现RemoteDebug.js
  2. 在Visual Studio中,选择Debug&gt; Attach to Process
  3. 选择Node.js remote debugging进行传输
  4. 输入localhost:5859进行限定符
  5. 点击Attach
  6. 这将使Visual Studio处于调试模式,您可以设置断点,执行步进/跳出,使用VS调试.NET应用程序时的体验非常相同。

答案 2 :(得分:0)

使用NTVS非常简单,您可以从github here下载所需的Windows版本

安装NTVS后,将添加NodeJS项目模板

现在,转到文件 - &gt;新项目 - &gt;基本的NodeJS Express 3应用程序(它将在javascript项目模板中提供

现在只需转到调试并选择开始调试,在需要的地方添加断点,然后就可以开始调试了