Webpack 动态导入() 和代理缓存



我有一个类似的代码,webpack 可以完美地处理:

import(
/* webpackChunkName: "my-chunk-name" */
'my-package'
);

这样就会生成一个名为"my-chunk-name"的块,这很好。 对我们来说,问题是我们在服务器之前有一个用于缓存文件的代理,这会导致问题;每次发布后,"my-chunk-name"都可以更改,但代理仍会为旧版本的文件提供一段时间。

是否有机会为请求的文件添加时间戳,使其类似于my-chunk-name.js?_ts=1536219218007? 这将确保躲避代理缓存并提供文件的新副本。

配置文件:

output: { 
path: outputPath, 
filename: '[name].js', 
chunkFilename: '[id].js'
}

为此,请使用[hash].

output: { 
path: outputPath, 
filename: '[name].[contenthash].js', 
chunkFilename: '[id].[contenthash].js'
}

每个构建的此哈希值都会有所不同,因此当您更新文件时,您的现金将完全正常工作。

>编辑

可以通过将 chunk文件名替换为 :

[name].js?h=[contenthash]

这样,您生成了一个文件(就像您输入[name].js一样(,但是在网络调用期间,它会添加参数h

(ps:我不能评论(

最新更新