Cache
缓存:该选项可以开启或者关闭 Rspack 构建过程中对快照及中间产物的缓存,如果开启,在下次构建中可以使用它们来提升构建的速度。
-
类型:
CacheOptions -
默认值: production 模式为
false, development 模式为true
禁用缓存
可以配置 cache 为 false 来禁用缓存。
内存缓存
可以配置 cache 为 true 或 { type: "memory" } 来启用内存缓存。
或
持久化缓存
可以配置 cache 为 { type: "persistent" } 来启用持久化缓存。
cache.buildDependencies
-
类型:
string[] -
默认值:
[]
cache.buildDependencies 是一个包含构建依赖的文件数组,Rspack 会使用这些文件的哈希值来使持久化缓存失效。
建议在 rspack 配置中设置 cache.buildDependencies: [__filename],以获取最新的配置。
cache.version
-
类型:
string -
默认值:
""
缓存版本,不同版本的缓存彼此隔离。
除了 buildDependencies 和 version 配置会影响持久化缓存失效外,以下字段变化时 Rspack 也会使持久化缓存失效。
cache.snapshot
配置快照策略。快照用于在关闭期间确定哪些文件已被修改。支持以下配置:
snapshot.immutablePaths
-
类型:
(RegExp | string)[] -
默认值:
[]
不可变文件的路径数组,热重启期间对这些路径的更改将被忽略。
snapshot.managedPaths
-
类型:
(RegExp | string)[] -
默认值:
[/[\\/]node_modules[\\/][^.]/]
包管理器管理的路径数组。在热启动时,将基于 package.json 中的版本来确定是否修改该路径。
snapshot.unmanagedPaths
-
类型:
(RegExp | string)[] -
默认值:
[]
指定 snapshot.managedPaths 中不受包管理器管理的路径数组
cache.storage
-
类型:
{ type: 'filesystem', directory: string } -
默认值:
{ type: 'filesystem', directory: 'node_modules/.cache/rspack' }
配置缓存存储。目前仅支持文件系统存储。可通过 directory 设置缓存目录。默认为 node_modules/.cache/rspack。
Rspack 将基于 config.name、config.mode、buildDependencies 中的文件内容和 version 在 storage.directory 中生成缓存文件夹。
Rspack 会在启动时自动清理长时间(7 天)未访问的缓存文件夹。
从 webpack 配置迁移
Rspack 的缓存配置与 webpack 的缓存配置不同。你可以参考以下步骤迁移 webpack 的缓存配置。
- 根据缓存类型,设置 Rspack 缓存类型。对于持久化缓存继续下一步,对于其他类型的缓存到此结束。
- 迁移
cache.buildDependencies
- 迁移
cache.version和cache.name
- 迁移
snapshot
- 迁移
cache.cacheDirectory
示例迁移代码:

