我正在使用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”脚本?