我有一个类似的代码,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:我不能评论(