CC 4.0 协议
本节内容派生于以下链接指向的内容 ,并遵守 CC BY 4.0 许可证的规定。
以下内容如果没有特殊声明,可以认为都是基于原内容的修改和删减后的结果。
Extends
用于从其他文件或包中扩展配置。这允许你创建一个基础配置,并针对不同的环境或用例进行扩展。
- 类型:
string | string[] - 默认值:
undefined
Info
该选项仅在 @rspack/cli 中有效。
如果你在使用 JavaScript API,或是其他基于 Rspack 的工具,extends 将不会生效,请使用 webpack-merge 代替。
基本用法
你可以通过在 extends 属性中指定文件路径来扩展另一个配置文件。路径可以是绝对路径,或是相对于配置文件的相对路径:
rspack.config.mjs
Tip
当使用相对路径时,它们是相对于包含 extends 属性的配置文件进行解析的。
多个配置
- 类型:
string[] - 默认值:
undefined
你可以通过提供一个路径数组来扩展多个配置。配置会从右到左依次合并,意味着最右边的配置会覆盖并合并到左边的配置中,以此类推。
rspack.config.mjs
合并行为
当合并配置时:
- 简单值会被覆盖
- 数组会被连接
- 对象会被深度合并(deep merged)
Node 模块
- 类型:
string - 默认值:
undefined
你也可以从安装在 node_modules 中的包扩展配置。该包应该导出一个有效的 Rspack 配置:
rspack.config.mjs
嵌套扩展
配置可以有自己的 extends 属性,允许嵌套配置继承。解析过程是递归执行的:
base.rspack.config.mjs
rspack.config.mjs

