持久化缓存
持续化构建过程来说,第一次构建是一次全量构建,然后它会将相关产物序列化缓存在磁盘中(serialize)。后续构建具体流程可以依赖于上一次的缓存进行:读取磁盘缓存 -> 校验模块 -> 解封模块内容
持久缓存会将缓存存储到磁盘
- 它将构建过程中的中间结果和依赖项存储到本地磁盘中的缓存目录中。当下一次构建时,Webpack 将检查缓存目录中的内容,并且只重新构建发生变化的模块和文件,而不需要重新构建所有内容。这大大加快了增量构建的速度。
文件系统缓存
module.exports = {
...
// 持久化缓存配置
cache: {
// 将缓存类型设置为文件系统,默认是memory
type: 'filesystem',
buildDependencies: {
// 更改配置文件时,重新缓存
config: [__filename]
}
},
optimization: {
// 值为"single"会创建一个在所有生成chunk之间共享的运行时文件
runtimeChunk: 'single',
moduleIds: 'deterministic',
},
}