配置项
Rsbuild 提供了丰富的配置项,并为每个配置项预设了一个通用的默认值,它可以满足大部分使用场景。因此,在大多数情况下,你不需要声明任何 Rsbuild 配置,直接开箱使用即可。
如果你需要定制一些构建行为,那么可以这些配置项。
配置分类
Rsbuild 中的配置可以分为以下几类:
你可以在 配置 页面找到所有配置项的详细说明。
使用配置
当你使用 Rsbuild 的 CLI 命令时,Rsbuild 会自动读取当前项目根目录下的配置文件,按照以下顺序进行解析:
rsbuild.config.ts
rsbuild.config.js
rsbuild.config.mjs
rsbuild.config.cjs
rsbuild.config.mts
rsbuild.config.cts
我们推荐使用 .ts
格式的配置文件,并从 @rsbuild/core
中导入 defineConfig
工具函数, 它提供了友好的 TypeScript 类型推导和自动补全,可以帮助你避免配置中的错误。
比如在 rsbuild.config.ts
中,你可以定义 Rsbuild 的 source.alias 配置:
rsbuild.config.ts
import { defineConfig } from '@rsbuild/core' ;
export default defineConfig ( {
source : {
alias : {
'@common' : './src/common' ,
} ,
} ,
} ) ;
如果你在开发一个非 TypeScript 项目,可以使用 .js
格式的配置文件:
module . exports = {
source : {
alias : ( opts ) => {
opts [ '@common' ] = './src/common' ;
} ,
} ,
} ;
使用环境变量
在配置文件重,你可以使用 process.env.NODE_ENV
等 Node.js 环境变量,来动态写入不同的配置:
rsbuild.config.ts
import { defineConfig } from '@rsbuild/core' ;
export default defineConfig ( {
source : {
alias : {
'@request' :
process . env . NODE_ENV === 'development'
? './src/request.dev.js'
: './src/request.prod.js' ,
} ,
} ,
} ) ;
合并配置
你可以使用 @rspack/core
导出的 mergeRsbuildConfig 函数来合并多个配置。
rsbuild.config.ts
import { defineConfig , mergeRsbuildConfig } from '@rsbuild/core' ;
const config1 = defineConfig ( {
dev : { port : '8080' } ,
} ) ;
const config2 = defineConfig ( {
dev : { port : '8081' } ,
} ) ;
// { dev: { port: '8081' }
export default mergeRsbuildConfig ( config1 , config2 ) ;
调试配置
在执行构建时,你可以添加 DEBUG=rsbuild
环境变量来开启 Rsbuild 的调试模式。
在调试模式下,Rsbuild 会将内部最终生成的 Rsbuild 配置写入到产物目录下,便于开发者查看和调试。
Inspect config succeed, open following files to view the content:
- Rsbuild Config: /Project/demo/dist/rsbuild.config.js
- Rspack Config (web): /Project/demo/dist/rspack.config.web.js
打开生成的 /dist/rsbuild.config.js
文件,即可查看 Rsbuild 配置的完整内容。
关于调试模式的完整介绍,请查看 开启调试模式 章节。