如何一起调试2个脚本?

时间:2018-11-21 11:55:22

标签: node.js npm visual-studio-code vscode-debugger vscode-tasks

我正在使用VSCode并有一个js项目。我正在通过npm管理构建/捆绑/测试过程。

这是package.json文件:

{
    /* ... */
    "scripts": {
        "bundle": "webpack",
        "minify": "node bin/minify",
        "build": "npm run bundle && npm run minify",
        "bundle-debug": "node --inspect-brk ./node_modules/webpack/bin/webpack.js",
        "minify-debug": "node --inspect-brk bin/minify",
        "build-debug": "npm run bundle-debug && npm run minify-debug"
    }
}

这是我用于调试的launch.json文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Debug The Build Task",
            "runtimeExecutable": "npm",
            "runtimeArgs": ["run-script", "build-debug"]
        }
    ]
}

所以,我的问题是:当我按F5键以上述配置调试应用程序时,我只能击中webpack.config.js文件上的断点,而永远不会击中bin / minify文件上的断点。因此,经过一些测试,我意识到使用&&符号连接脚本会导致它无法调试第二个脚本。因此,这意味着,如果我按如下所示更改“ build-debug”脚本的顺序,则bin / minify文件上的断点命中,而webpack.config.js上的断点命中:恰好相反。...

        "build-debug": "npm run minify-debug && npm run bundle-debug"

作为解决方案,VSCode提供了化合物。但是,我希望这两个脚本按给出的顺序构成“ build-debug”任务。在launch.json中制作化合物意味着将1个调试配置拆分为2 + 2个配置的组合。而且package.json上定义的执行顺序与复合配置中定义的顺序不同步。这意味着如果我更改“ build-debug”脚本,那么我也必须更改复合配置。

1)有什么方法可以解决这个问题?

2)是否可以在不定义“ build-debug”副本的情况下直接调试“ build”脚本?

0 个答案:

没有答案