如何使用VSCode调试resolvejs应用程序

时间:2019-02-04 09:02:01

标签: debugging visual-studio-code resolvejs

我正在使用Visual Studio Code。 我刚刚创建了resolvejs应用程序。

如何从vscode逐步运行应用程序?

这是我的调试设置(在.vscode \ launch.json中):

{
  "type": "node",
  "request": "launch",
  "name": "Debug",
  "program": "${workspaceFolder}/run.js",
  "args": [
    "dev"
  ],
  "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/babel-node",
  "runtimeArgs": [
    "--nolazy",
    "--inspect"
  ]
}

我在命令处理程序中的断点不起作用。

1 个答案:

答案 0 :(得分:0)

尽管文件run.js是基于框架的resolve应用程序中的某种入口点,但它不是运行时阶段的实际入口点。当resolve / yarn dev命令启动npm run dev应用程序时,实际上执行了两个操作:使用run.js构建捆绑包(默认情况下使用config.[MODE].js文件适用于适当的模式),并以监视模式在单独的过程中启动目标捆绑包,这会导致在项目中的每个文件更改时自动重建(也称为热重新加载)。

捆绑包存储在<APP_DIR>/dist/common/local-entry/local-entry.js中。要允许从IDE进行调试,衍生的调试nodejs应该直接调用目标包。可以通过将应用程序的编译阶段和运行阶段分开来实现。

Resolve包含用于构建应用程序而不运行它的命令-yarn build / npm run build。该命令以生产模式构建应用程序,但是可以通过编辑run.js入口点将此行为轻松地更改为开发模式-只需找到行case 'build':并将以下行从await build(merge(baseConfig, prodConfig))替换为{{1 }}。或者可以附加用于在开发人员模式下构建应用的其他脚本,例如await build(merge(baseConfig, devConfig))-可能的脚本数量是无限的。

然后只需运行命令yarn build-dev并以指向入口点为yarn build的方式启动调试器。如果源地图正确构建,则断点应该可以正常工作。