我正在使用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"
]
}
我在命令处理程序中的断点不起作用。
答案 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
的方式启动调试器。如果源地图正确构建,则断点应该可以正常工作。