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

Angular CLI building SourceMaps, but not deploying them

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

Sentry 允许用户上传他们的 SourceMap 文件,所以我进入我们的 angular.json 并设置 "sourceMap": true。正如预期的那样,它创建了很多我们上传到 Sentry.js.map 文件,但是为了明显的安全性,我们删除了它们并且 部署它们原因。

问题是由于某种原因,Google Chrome Dev Tools 以某种方式知道生成了 SourceMap 文件,甚至尝试访问它们!

所以这是我的问题:

旁注:虽然我多次提到 Sentry,但与问题无关。我只是想解释一下,为什么我们想要这个。

第一个: 正如@jonrsharpe 指出的那样,事实证明 Angular 在 cssjs 文件和 Google Chrome 的末尾注入了 //# sourceMappingURL=... 注释(可能其他浏览器)解析它并使用它来显示原始堆栈跟踪。

第二个: 这似乎是可行的,通过为 sourceMap 参数配置 hidden: true,如下所示:

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

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