我有一个与此类似的代码,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'
}
这个哈希值对于每个版本都会有所不同,因此当您更新文件时,您的现金将完全正常。