检测到VScode sourceMaps但未使用

时间:2017-12-11 10:56:59

标签: javascript typescript debugging visual-studio-code source-maps

大家好!

我正在使用 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 ...

如果您有解决方案,请就此问题给我一些解释

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法:

webpack的源地图加载器

这样,导入和转换文件的源图将在webpack中解析。

https://github.com/webpack-contrib/source-map-loader