Angular CLI构建SourceMap,但不部署它们

时间:2019-08-01 13:27:43

标签: angular-cli angular-cli-v8

我们正在使用前端错误记录工具Sentry来查看在角度应用程序中遇到的错误。

Sentry允许用户上传他们的SourceMap文件,因此我进入了angular.json并设置了"sourceMap": true。正如预期的那样,它会创建许多.js.map个文件,并上传到Sentry,但是出于明显的安全原因,我们放弃了它们,并部署它们。< / p>

问题是由于某种原因,Google Chrome开发者工具以某种方式知道生成了SourceMap文件,甚至试图访问它们!

enter image description here

这是我的问题:

  • 如何使用Google Chrome浏览器生成SourceMaps?我假设htmlcssjs文件中的内容可以说明这一点。
  • 我该如何解决?我想获取SourceMap,但是我不想让任何人知道它们的存在,尤其是它们的位置。

旁注:尽管我多次提及Sentry,但与该问题无关。我只是想解释一下,为什么我们要这么做。

1 个答案:

答案 0 :(得分:0)

第一: 正如@jonrsharpe所指出的,事实证明Angular在//# sourceMappingURL=...css文件的末尾注入js注释,而Google Chrome(可能还有其他浏览器)对其进行解析并将其用于显示原始堆栈跟踪。

第二: 通过为hidden: true参数配置sourceMap似乎是可行的,就像这样:

"sourceMap": { "scripts": true, "styles": true, "hidden": true, "vendor": true }

似乎sourceMap可以是bool或复杂的对象。请查看angular docs here