当前位置: 首页 > 面试题库 >

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

仲承福
2023-03-14
问题内容

在我的 Ubuntu 16.04上, 我将 IntelliJ IDEA ultima 2017.2节点v6.11.2npm
v3.10.10 一起使用,并想调试一个具有以下 package.json 开始 条目的node.js应用程序:

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

根据控制台输出和类似的SO问题我需要添加 $ NODE_DEBUG_OPTION
作为第一个参数(用于节点),以避免 Connection拒绝 错误。Obvioulsy,我尝试过

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

导致像

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都不会解析,并且 节点 将其视为不存在的文件。

我也试图直接在 package.json 添加变量,例如

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

这也会导致 找不到模块… / $ 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脚本。目标是使用调试选项启动节点进程。



 类似资料:
  • 问题内容: 我正在尝试学习go,并且一开始我想尝试组装一个超级简单的Web服务器来控制iTunes。过去,我已经多次达到这个目的,并认为我可以在这里简单地取消对osascript的调用。 注释掉的“ say 5”命令 确实 起作用。 我收到的回应如下: 我不确定从这里要去哪里,任何方向都将不胜感激。 问题答案: 我明白了 我认为exec.Command(…)如果参数中有空格,则在参数中添加双引号,

  • 如何将 RelayState 正确传递到 Okta 端 ACS URL,以便它到达输入的 IdP? 我把 在 ACS URL 上,IdP 得到一个 SAMLRequest,中继状态为 哪个解码为 . 如果我把<代码>?RelayState=相反,如我所料,带有SAMLRequest的RelayState为空。 我附上了NetworkData.xml这是从Internet Explorer捕获的。在

  • 问题内容: 我是docker世界的新手。我必须调用一个通过Docker容器获取命令行参数的shell脚本。例如:我的shell脚本如下所示: Dockerfile看起来像这样: 我不确定如何在运行容器时传递参数 问题答案: 使用相同 使用现有的Dockerfile构建映像: 使用参数或其他方式运行映像。

  • 我一直在按照创建 POSIX 线程的说明进行操作,并密切关注他们的示例 Pthread 创建和终止。 根据他们的示例,他们将一个整数值传递给,这将导致类似于以下内容的调用: 我要运行的代码的草图是: 这是在一个作业的上下文中,老师希望我们在Linux中使用gcc,所以我使用Windows子系统来Linux这些编译参数: 运行上述程序将输出“线程值:42”。 我的 C 指针体验已经过去了几年,但只是

  • 问题内容: 我正在尝试找出在我的express.js路由之间传递mysql连接(使用node- mysql)的最佳方法。我正在动态添加每个路由(在路由中为每个文件循环使用),这意味着我不能只是将连接传递给需要它的路由。我要么需要将其传递到每条路线,要么根本不需要传递。我不喜欢将其传递给不需要它的想法,因此我创建了一个dbConnection.js,可以根据需要单独导入路由。问题是我认为我做的不正确

  • 问题内容: 我有这样的查找声明 它给出了答案。但是我需要某个变量值,而不是那个杂乱的值MT。如何实现呢?谢谢。 更新 我试过像“ /。 ” + searchterm +“ ./ ”无效。 问题答案: 除了使用内联语法创建正则表达式外,还可以使用RegExp对象基于字符串创建一个正则表达式