我们有一个使用Angular Service Worker的Angular应用程序。
我们知道,该服务工作者将缓存文件中的内容哈希与ngsw.json
文件中的哈希进行比较。
现在,我们已经设置了持续的集成和交付(使用Azure DevOps,但这无关紧要),在交付阶段,我们正在修改environment.json
文件中的某些设置(例如配色方案, API网址...全部与部署目标相关)。问题是,通过修改json文件,哈希不再与ngsw.json
文件中该文件的哈希匹配。
我们绝对不希望针对专用目标环境进行重建,因为这会破坏CI / CD中的目标。 (一旦包装进入质量检查流程,您就不想为生产环境重建该软件包。)
所以问题是:在我们修改了ngsw.json
(或任何其他)文件之后,是否有一种方法可以重新生成environment.json
文件中的哈希?还是对此问题有其他解决方案?
答案 0 :(得分:0)
您是否在谈论以下命令:
node_modules/.bin/ngsw-config dist src/ngsw-config.json
您可以将命令放在package.json中:
"scripts": {
"ngsw-config": "node_modules/.bin/ngsw-config dist src/ngsw-config.json"
}
这为您重新配置并散列。 在执行最后一条命令后运行它,这应该在您的CI环境中是可能的。
请注意,如果您使用其中之一,则可以使用基本href参数。
此处有更多说明:Angular doc