背景
持久化缓存算得上是 Webpack 5 最令人振奋的特性之一,它能够将首次构建结果持久化到本地文件系统,在下次执行构建时跳过一系列解析、链接、编译等非常消耗性能的操作,直接复用 module、chunk 的构建结果。
cache 会在开发模式被设置成 type: 'memory'
而且在生产模式中被禁用。 cache: true
与 cache: { type: 'memory' }
配置作用一致。 传入 false 会禁用缓存:
常用配置
cache.type
缓存类型,支持 'memory' | 'filesystem'
,需要设置 filesystem 才能开启持久缓存。
当将 cache.type 设置为 ‘filesystem’ 是会开放更多的可配置项。
cache.cacheDirectory
缓存文件存放的路径,默认为 node_modules/.cache/webpack
cache.buildDependencies
额外的依赖文件,当这些文件内容发生变化时,缓存会完全失效而执行完整的编译构建,通常可设置为项目配置文件,如:
module.exports = {
cache: {
buildDependencies: {
config: [path.join(__dirname, 'webpack.dll_config.js')],
},
},
};
官方推荐的是:文章来源:https://uudwc.com/A/59jae
module.exports = {
cache: {
buildDependencies: {
// This makes all dependencies of this file - build dependencies
config: [__filename],
// 默认情况下 webpack 与 loader 是构建依赖。
},
},
};
也就是说当前的 webpack 配置文件如果不改变的话,那就会一直使用缓存文章来源地址https://uudwc.com/A/59jae