如何使用Angular CLI生成源地图并将其上载到Sentry?
有两种方法可以设置sourcemaps:将它们托管在站点上并在捆绑文件中引用,或者直接将它们上载到sentry之类的服务。我正在努力实现后者。问题在于,如果不将文件路径写入捆绑文件,似乎无法使用angular cli生成sourcemaps 我的第一个想法是有两个构建—一个是使用sourcemaps生成,另一个是不使用sourcemaps生成。然后,我只需在没有sourcemaps的情况下部署构建,并将构建与它们一起上传到sentry。这不起作用,因为捆绑包文件名不同(angular cli使用文件哈希作为文件名进行缓存破坏,当您生成sourcemaps时,它会将.map文件的路径作为注释添加到末尾,从而导致哈希和文件名的更改) 我的另一个选择是使用sourcemaps构建,将它们上传到sentry,然后在部署站点之前删除地图文件。但问题是捆绑文件仍然包含对现在不存在的映射文件的引用。这本身不应该是一个问题,但它可能会引起扩展或浏览器的问题,看起来就像一个黑客解决方案如何使用Angular CLI生成源地图并将其上载到Sentry?,angular,continuous-integration,source-maps,sentry,Angular,Continuous Integration,Source Maps,Sentry,有两种方法可以设置sourcemaps:将它们托管在站点上并在捆绑文件中引用,或者直接将它们上载到sentry之类的服务。我正在努力实现后者。问题在于,如果不将文件路径写入捆绑文件,似乎无法使用angular cli生成sourcemaps 我的第一个想法是有两个构建—一个是使用sourcemaps生成,另一个是不使用sourcemaps生成。然后,我只需在没有sourcemaps的情况下部署构建,并将构建与它们一起上传到sentry。这不起作用,因为捆绑包文件名不同(angular cli使用
您将如何在构建过程中实现类似的功能?这篇文章解释了如何将angular sourcemaps上载和监视到sentry。如评论中所述,您可以在
angular.json
文件中启用sourcemaps
,如下所示:
“配置”:{
“生产”:{
“源地图”:{
“剧本”:没错,
“风格”:没错,
“隐藏”:真实
},
此外,我建议您在上传到sentry之后和部署之前删除.map
文件。因此,在ci中添加以下行:
rm-rf dist/YOUR_PROJECT/*.map
你找到了解决方案吗?@NicholasColes我在回购协议上创建了一个功能请求,该请求已添加到待办事项中-现在有人提出了解决方案吗?我也有同样的情况,如果有人找到了实现这一点的方法,那就太好了。我想我找到了答案,但还没有尝试:@Anthony a soluti已合并上的: