【问题标题】:Debug node modules in nwjs在 nwjs 中调试节点模块
【发布时间】:2015-07-09 07:23:41
【问题描述】:

我们正在开发一个基于 node webkit (nwjs) 的应用程序,它是 node 模块和 Angular 代码的混合体。许多业务逻辑已移至节点模块,但我还没有找到在正在运行的应用程序中调试该代码的方法。

使用 devtools 进行调试似乎不起作用,这是一个已知的限制或错误 (Debugging with devtools)。我什至尝试从其中一个脚本中要求node-monkey,希望能够打开某种后门;) - 不幸的是没有工作。

那么还有其他方法或技巧来(远程)调试代码吗?

【问题讨论】:

  • 我可能会建议尝试适用于 Visual Studio 的 Node.js 工具 (nodejstools.codeplex.com) - 免责声明:我参与了这个项目。
  • @Dai,您愿意发布一个详细说明如何在这种特殊情况下使用您的工具的答案吗?事实上,您的链接并不太有用。
  • @Dai 嗯,它解决了 nw.js 的特殊远程调试问题吗?调试普通节点不是挑战,我对 intellij 很满意
  • 你有进步吗?目前这对我来说是一个严重的问题。我很想听听您是否找到了解决方案。

标签: javascript node.js node-webkit nw.js


【解决方案1】:

我正在使用 Chrome 调试器扩展来调试我的 nwjs 应用程序中的节点模块。

这是 launch.json 中的配置:

{
    "name": "Launch nwjs",
    "type": "chrome",
    "request": "launch",
    "webRoot": "${workspaceRoot}/src", //where you put your .js files
    "runtimeExecutable": "nw"
    "runtimeArgs": [
        "${workspaceRoot}",
        "--chrome-remote-port=9222"
    ],
    "sourceMaps": false,
    "diagnosticLogging": true,
    "port": 9222
},

我不得不从 VS Code 更改一些文件,因为默认情况下编辑器会忽略以 chrome-extension:// 开头的 URL,并且 Nwjs 在此协议下运行您的应用程序...

GitHub 上的这个问题对我帮助很大。

https://github.com/nwjs/nw.js/issues/4919

【讨论】:

    【解决方案2】:

    看看node-inspector

    您应该能够使用node-debug 而不是node 启动您的应用程序,它会打开chrome devtools 查看您的应用程序。

    您也可以使用它来调试远程服务器。

    然后,您可以像调试 Web 应用程序一样添加断点、监视变量等。

    【讨论】:

    • 问题是询问NodeWebkit
    猜你喜欢
    • 2016-06-01
    • 2011-09-14
    • 2017-07-16
    • 2015-05-22
    • 2019-10-19
    • 1970-01-01
    • 2020-04-11
    • 2018-06-24
    • 2022-11-11
    相关资源
    最近更新 更多