Angular堆栈跟踪无法显示组件代码行,求配置调整方案
解决堆栈跟踪无法显示原TS文件及行号的问题
- 开启Source Map:你的配置里
sourceMap设为false,这是核心问题。Source Map的作用就是把打包后的代码映射回原始TS文件,关闭后浏览器没法解析对应关系,自然看不到原文件路径和行号。必须把它改成true。 - 关闭Build Optimizer:
buildOptimizer: true会对代码做深度优化混淆,就算开了Source Map,也可能干扰堆栈跟踪的准确性,建议改成false。
调整后的配置片段:
"configurations": { "live": { "buildOptimizer": false, "vendorChunk": true, "extractLicenses": false, "sourceMap": true, "namedChunks": true, "outputHashing": "all", "optimization": { "scripts": true, "styles": { "minify": false, "inlineCritical": false }, "fonts": true } } }
额外说明:
- 开启
sourceMap后,打包时会生成对应的.map文件,浏览器加载后就能在控制台的堆栈信息里显示原TS文件的路径和代码行号。 - 如果担心生产环境Source Map泄露源码,可以改用
hiddenSourceMap(仅生成map文件但不在打包后的代码中添加引用),不过这种情况需要手动在浏览器中加载map文件才能解析堆栈。
内容的提问来源于stack exchange,提问作者ilker
相关产品推荐
相关产品推荐

