17

我已经将一个现有的 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 上的断点也不会被触发。)

4

3 回答 3

24

求者得着,寻者得着……

(是的,在发帖之前我确实花了很长时间搜索和尝试......)

设置

用 VS 调试 node.js 服务器有点好。

希望这可以帮助某人

编辑:node.exe 的参数在图像中可能难以阅读。肯定是

 --debug=<portno>

那是用两个破折号(而不仅仅是一个破折号)来指定调试端口。

于 2014-10-24T19:05:26.650 回答
2

没有太多知识,expressjs但最近发布了NTVS1.0 Alpha,我确实发现它支持远程调试,它也可以用来调试nodejs本地运行的应用程序 - 无论如何,如果它与 nodejs app + expressjs 一起使用,还没有尝试过,但它应该。

我按照此视频中的步骤https://youtu.be/-ir9ZB8lUg4这是

  1. 运行你的 nodejs node.exe RemoteDebug.js <your_javascript_file>
    RemoteDebug.js当您安装 NTVS 时已经出现。
  2. 在 Visual Studio 中,选择Debug>Attach to Process
  3. 选择Node.js remote debugging运输
  4. 进入localhost:5859预选赛
  5. 点击Attach

这将使 Visual Studio 处于调试模式,您可以设置断点、执行单步执行/单步执行,与使用 VS 调试 .NET 应用程序时的体验完全相同。

于 2015-05-20T13:33:19.263 回答
0

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

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

现在,转到文件->新建项目->基本 NodeJS Express 3 应用程序(它将在 javascript 项目模板中可用

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

于 2015-07-29T08:08:45.493 回答