Angular i18n json 使用 nginx 的缓存问题

Angular i18n json cache issues using nginx

我在 json 文件(例如 de.json 和 en.json 中使用带有 i18n 翻译的 angular。在我的生产环境 (nginx) 中,我遇到了这些 JSON 文件被网络浏览器缓存的问题。升级后,Chrome 将不会下载当前 json 文件的新版本,即使日期 header 已更改。

请求信息(Chrome):

响应Headers:

有没有人遇到过这个问题可以帮助我?

不是专门针对 Angular/nginx 的修复,但我经常使用的做法是在加载资源时将查询字符串参数附加到资源。对我来说,这通常源自 .js 文件/应用程序的版本号,例如将其用作 RNG

的种子

所以,而不是:<script src="/assets/de.json" />

使用 <script src="/assets/de.json?_=12345" />

奖励积分 - 在您的 Angular 应用程序中,您可以跟踪要包含的资产版本,这意味着您可以发布新的资产文件,而无需客户立即更新它们将它们放在本地缓存中(尽管请注意新客户端无论如何都会获得新版本)