webpack长缓存优化

Posted 等风来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack长缓存优化相关的知识,希望对你有一定的参考价值。

1. 文件不随编译变化
文件hash不使用[hash],而使用[chunkhash],使得文件只随着内容变化,不随着编译变化,[hash]是每次编译都变化一次
 
2. css文件不受js模块变化影响
css文件hash使用contenthash,这样不受js模块变化影响
 
3. 提取vendor
公共库不受业务模块变化影响
 
4. 内联webpack runtime到页面
chunkId变化不影响vendor,不占用http请求,使用chunk-manifest-webpack-plugin提取,gulp-inject插入到页面
 
5. 保证module Id稳定
模块的新增或删除,会导致其后面的所有模块id重新排序,为避免这个问题,不使用数字作为模块id,改用文件内容的hash值,使用HashedModuleIdsPlugin可以解决
 
6. 保证chunkhash稳定
使用webpack-chunk-hash,替代webpack自己的hash算法。webpack自己的hash算法,对于同一个文件,在不同开发环境下,会计算出不用的hash值,不能满足跨平台需求。

以上是关于webpack长缓存优化的主要内容,如果未能解决你的问题,请参考以下文章

webpack vue todo

webpack优化篇(四十六):充分利用缓存提升二次构建速度

webpack优化环境配置

webpack优化环境配置

干货从构建进程间缓存设计 谈 Webpack5 优化和工作原理

从构建进程间缓存设计谈Webpack5 优化和工作原理