當 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'
}
}
}