大家好!
我正在使用 VSCode 使用 lerna 处理在monorepo 中的OpenSource项目,我想提供一个包含需要轻松贡献的工具。
为了以对我来说非常干净的方式执行此操作,我在我的工作台包中添加了我的monorepo作为子模块。
以下是指向我当前设置的链接: https://github.com/Aetherall/accounts-workbench
此软件包的主要目标是为开发人员提供一个有效的调试器配置,该配置允许断点并遵循monorepo软件包源中的错误堆栈 。
我成功地让VSCode读取了我的源图。 实际上,我打开了跟踪选项,我在日志中看到.map文件已经解析。
但是, - 并且有我的问题 - 当我触发错误时,而不是引导我到源,调试器只显示转换后的文件 ......
以下是我的一个文件日志示例(如果需要,我可以提供整个日志来帮助我)
SourceMaps: sourcemap url parsed from end of generated content:
AuthenticationServicePassword.js.map
SourceMaps.getMapForGeneratedPath: Finding SourceMap for
/home/aetherall/Workspace/github/accounts/accounts-workbench/accounts/packages/Server/Authentication/Password/PasswordService/lib/AuthenticationServicePassword.js by URI:
AuthenticationServicePassword.js.map
SourceMaps.loadSourceMapContents: Reading local sourcemap file from
/home/aetherall/Workspace/github/accounts/accounts-workbench/accounts/packages/Server/Authentication/Password/PasswordService/lib/AuthenticationServicePassword.js.map
这是我的调试器配置:
{
"type": "node",
"request": "launch",
"name": "Start dev server",
"program": "${workspaceRoot}/config/start.js",
"protocol": "inspector",
"sourceMaps": true,
"cwd": "${workspaceRoot}",
"outFiles": [
"${workspaceRoot}/dist/**/*.js",
"${workspaceRoot}/**/lib/**/*.js",
"!**/node_modules/**/*",
],
"skipFiles": ["${workspaceRoot}/node_modules/**/*", "<node_internals>/**/*.js"],
"smartStep": true,
"trace": "sm"
},
我正在使用 webpack 捆绑工作台包(不是monorepo)和 tsc ,以便在我的monorepo子模块中使用sourceMaps在javascript中转换typescript包
如果需要,我当然可以添加更多信息
感谢您帮我解决这个问题! 我真的不明白为什么调试器不会使用sourceMaps ...
如果您有解决方案,请就此问题给我一些解释
答案 0 :(得分:0)
我找到了解决问题的方法:
webpack的源地图加载器
这样,导入和转换文件的源图将在webpack中解析。