当 webpack 生成 bundle 时, 它同时维护一个 manifest 文件。你可以在生成的 vendor bundle 中找到它。manifest 文件描述了哪些文件需要 webpack 加载。
如果 webpack 生成的 hash 发生改变,manifest 文件也会发生改变。因此,vendor bundle 的内容也会发生改变,并且失效。所以,我们需要将 manifest 文件提取出来。
大部分工作都已经在 bundle splitting 中完成。为了提取 manifest 文件,需要用以下的方式定义 optimization.runtimeChunk
module.exports = {
optimization: {
splitChunks: {
// ...
},
runtimeChunk: {
name: 'manifest'
}
}
}