【问题标题】:How to debug via npm with a module CLI?如何使用模块 CLI 通过 npm 进行调试?
【发布时间】:2018-01-01 19:02:37
【问题描述】:

我使用来自package.json 文件的这个 npm 脚本:

"scripts": {
    "build": "rollup --config",
    "build-debug": "node --nolazy --inspect-brk=5858 rollup --config"
}

Rollup 是在本地安装的 rollup.js library 的 CLI,因此在 node_modules/.bin 中可用

当我执行npm run build 时,它运行良好。 现在我想用 VSCode 调试器执行这个命令。

所以我用这个配置创建了launch.json 文件:

"configurations": [
    {
        "type": "node",
        "request": "launch",
        "name": "Build",
        "cwd": "${workspaceRoot}",
        "runtimeExecutable": "npm",
        "windows": {
            "runtimeExecutable": "npm.cmd"
        },
        "runtimeArgs": [
            "run",
            "build-debug"
        ],
        "port": 5858
    }
]

但是调试器失败了

使用检查器协议进行调试,因为设置了运行时可执行文件。
npm.cmd 运行构建调试
调试器监听 ws://127.0.0.1:5858/e0210d85-ee1d-4895-a67f-a23581725b31
已附加调试器。
模块.js:487
抛出错误;

错误:找不到模块 'd:\Temp\myproject\rollup'

如果我使用汇总路径,我有一个语法错误:

"scripts": {
    "build-debug": "node --nolazy --inspect-brk=5858 node_modules/.bin/rollup --config"
}

使用检查器协议进行调试,因为设置了运行时可执行文件。
npm.cmd 运行构建调试
调试器监听 ws://127.0.0.1:5858/c43fe903-b54d-4804-84d2-37d3c98b40e2
已附加调试器。
d:\Temp\myproject\node_modules\.bin\rollup:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\,/,g')")

SyntaxError: missing ) after argument list

有什么想法或建议吗?

【问题讨论】:

    标签: node.js debugging npm visual-studio-code


    【解决方案1】:

    你可以这样做。在这里,vscode 在调试运行汇总中启动节点,使用您工作目录中的任何配置:

    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}/node_modules/rollup/bin/rollup",
            "args": [
                "-c"
            ]
        }
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 1970-01-01
      • 2016-01-04
      • 2021-05-26
      • 2020-03-30
      • 2019-06-12
      • 1970-01-01
      相关资源
      最近更新 更多