gpt4 book ai didi

json - IntelliJ IDEA 如何正确地将 $NODE_DEBUG_OPTION 传递给 npm-run-all

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:26 25 4
gpt4 key购买 nike

在我的 Ubuntu 16.04 上,我使用 IntelliJ IDEA ultima 2017.2 以及 node v6.11.2npm v3.10.10 和想要调试一个 node.js 应用程序,它具有以下 package.json start 条目:

"start:" "npm-run-all --parallel serve-static open-static"

根据控制台输出和this similar SO question我需要添加 $NODE_DEBUG_OPTION 作为第一个参数(用于 Node )以避免 Connection refused 错误。很明显,我试过了

  • 在运行/调试配置中添加 $NODE_DEBUG_OPTION 作为参数
  • 作为 Node 选项

这导致了这样的调用

node npm-cli.js run start-debug --scripts-prepend-node-path=auto $NODE_DEBUG_OPTION

node $NODE_DEBUG_OPTION npm-cli.js run start-debug --scripts-prepend-node-path=auto 

在每种情况下,$NODE_DEBUG_OPTION 都没有解析,node 将其视为不存在的文件。

我也试过直接在 package.json 中添加变量,比如

    "start:" "npm-run-all $NODE_DEBUG_OPTION --parallel serve-static open-static"

这也会导致 Cannot find module .../$NODE_DEBUG_OPTION 错误。

那么,我怎样才能传递这个选项以便在 IntelliJ IDEA 中调试那个东西?

谢谢

最佳答案

手动添加 $NODE_DEBUG_OPTIONpackage.json 是调试通过 npm 脚本启动的应用程序的唯一方法,因为您必须确保 Node.js 已启动使用适当的调试选项(--debug-brk--inspect-brk 等),IDE 无法控制子进程的生成方式 - 它可以仅在启动时将选项传递给主进程。但是这个选项必须传递给 Node.js - 而不是 npm-cli.jsnpm-run-all 等。如果 npm-run- all 是一个 npm 脚本,用于启动您要使用 node.js 调试的应用程序,您需要相应地修改此脚本,例如:

"npm-run-all": "node $NODE_DEBUG_OPTION myapp.js" 

如果您的任务运行一个 shell 脚本,反过来,它会使用 node.js 运行您的应用程序,您需要修改一个 shell 脚本...目标是使用调试选项启动 Node 进程

关于json - IntelliJ IDEA 如何正确地将 $NODE_DEBUG_OPTION 传递给 npm-run-all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45966125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com