【问题标题】:Debug node.js backend application with an IDE, e.g. WebStorm使用 IDE 调试 node.js 后端应用程序,例如网络风暴
【发布时间】:2019-06-10 17:00:16
【问题描述】:

我在 package.json 中添加了这个到脚本中:

"debug": "NODE_PATH=src nodemon --exec babel-node src/run.js --inspect",

它假装它正在调试,但它会随心所欲地跳到选定的行上。我不是 JavaScript 的“专家”(我是 Java),但这真的很痛苦。

如何在不调试的情况下调试后端?抱歉,我很生气,因为这是我第二次对 JavaScript 进行更改,这是我第二次对这种愚蠢行为感到愤怒。

感谢您的任何提示。

P.S.:如果有更好的软件,调试工具请参考

【问题讨论】:

    标签: node.js debugging npm webstorm


    【解决方案1】:

    在 WebStorm 中,调试通过 NPM stript 启动的应用程序的最简单方法是使用装订线中的图标:在编辑器中打开 package.json,右键单击脚本左侧的图标并选择 debug

    另见https://blog.jetbrains.com/webstorm/2017/09/debugging-node-js-apps-in-webstorm/

    注意:

    • babel-node 已弃用,不建议在生产中使用。要获得即时编译的 ES6 代码,请尝试使用 -r @babel/register 运行节点。见https://babeljs.io/docs/en/babel-register

    • 通过运行nodemon --exec babel-node src/run.js --inspect,您将--inspect 传递给您的应用程序,而不是节点解释器,因此该命令不会启动调试器。节点选项必须在 javascript 文件之前指定,否则传递的选项将被视为应用程序参数,而不是 node.js 参数

    【讨论】:

    • 我尝试了第一个。工作方式与描述相同。所以我将配置更改为这个:ibb.co/1KK7799 AND 在脚本中将此“调试”:“NODE_PATH=src nodemon --exec babel-node src/run.js”但现在没有断点正在工作。
    • 尝试使用node -r @babel/register 而不是babel-node
    【解决方案2】:

    目前,VSCode(Visual Studio Code)被认为是最好的开发工具,它重量轻且用户友好。 您可以根据需要获得不同的扩展。

    要在 vscode 中调试节点 js,请转到调试窗口 -> 添加配置 -> 键入附加进程 -> 按 ctrl + 空格 -> 在附加建议时按 Enter。

    之后,运行命令,节点“你的文件名”--inspect

    按 F5,您的调试器将被附加

    Node js debugging using VSCode

    【讨论】:

    • 我跟着你的步骤。当我尝试添加配置时,我得到这个:“无法读取未定义的属性'openConfigFile'”所以在短暂浏览后我添加了一些类似这样的launch.json:“版本”:“0.2.0”,“配置”: [ { "type": "node", "request": "attach", "name": "Attach by Process ID", "processId": "${command:PickProcess}" } ] 但是当我运行这个命令时,我get import error node src/run.js --inspect import http from 'http';
    • launch.json code { // 使用 IntelliSense 了解可能的属性。 // 悬停查看现有属性的描述。 // 更多信息请访问:go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Attach" , "端口": 9229 } ] }
    • 无法连接运行时进程,10000毫秒后超时-(原因:无法连接目标:连接ECONNREFUSED 127.0.0.1:9229)。
    • 9229 端口是免费的
    • 例如如果你有一个名为 test.js 的文件,那么你需要运行它,node --inspect test.js 运行后按 F5
    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多