1.js文件的缓存

浏览器会对js文件缓存,如果js文件的内容更新了,但是名称没有改变,不会被重新缓存
配置
filename: ‘[name].[contenthash].js’, // [contenthash]文件名会随内容变化而变化,就会被浏览器重新缓存

2.第三方库的缓存

将第三方库提取到单独的vendor chunk文件中,第三方库很少像本地的源代码那样频繁的改动,利用浏览器(client)的长效缓存机制,命中缓存来消除请求,减少向server获取资源,同时还能保证client代码和server代码版本一致。
在optimization.splitChunks中添加cacheGroups,将第三方库单独打包

optimization: {
// 代码分割,将公用代码抽离到单独的文件夹
splitChunks: {
// chunks: “all”
// 缓存组
cacheGroups: {
vendor:{
test:/[\/]node_modules[\/]/,
name:’vendors’,
chunks:’all’
}
}
}
}