gpt4 book ai didi

angular - webpack 中 JSON 文件的缓存清除

转载 作者:太空狗 更新时间:2023-10-29 17:01:44 27 4
gpt4 key购买 nike

我有以下代码(用 typescript 编写,但可以是任何 JS 变体):

this.http.get('configs/config.json').subscribe(...);

基本上,我是从本地 json 文件加载配置。我想在文件上实现缓存清除。虽然我可以设置我的 webpack 通过添加哈希后缀来修改 json 文件,但我还需要修改所有引用这些文件的源文件。 string-replace-loader 可能会完成这项工作,但这样做感觉有点奇怪。

此外,在某些情况下,我无法访问对资源进行 http 调用的代码行(第三方插件,例如加载类似 i18n/[lang].json 的翻译) > 所以我不能直接修改代码和/或名称(因此内容哈希)仅在运行时已知。

是否有类似 webpack 的 URL 重写之类的东西可以解决这个问题?

最佳答案

您可以在 URL 中使用查询参数来避免缓存。无需更改文件名。

this.http.get(`configs/config.json?t=${new Date().getTime()}`).subscribe(...);

new Date().getTime() 将为每一毫秒创建一个唯一的数字。

对于 ngx-translate,您可以将 httpLoader 工厂定义为

export function HttpLoaderFactory(httpClient: HttpClient) {
return new TranslateHttpLoader(httpClient, '/assets/i18n/',`.json?v=${new Date().getTime()}`);
}

希望对您有所帮助。

关于angular - webpack 中 JSON 文件的缓存清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41220230/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com