我们有一个使用Angular Service Worker的Angular应用程序。

众所周知,该服务工作者将缓存文件中的内容哈希与ngsw.json文件中的哈希进行比较。

现在,我们已经设置了持续的集成和交付(使用Azure DevOps,但没有关系),在交付阶段,我们正在修改environment.json文件中的某些设置(例如配色方案,API url ...所有与部署目标有关)。问题在于,通过修改该json文件,哈希不再与ngsw.json文件中该文件的哈希匹配。

我们绝对不希望针对专用目标环境进行重建,因为这会破坏CI / CD中的目标。 (一旦该软件包进入质量检查流程,您就不想为生产环境重建该软件包)。

所以问题是:修改了我们的ngsw.json(或任何其他)文件后,是否有办法重新生成environment.json文件中的哈希?还是对此问题有其他解决方案?

最佳答案

您是否在谈论以下命令:

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

09-12 03:46