close
logologo
指南
配置
插件
API
社区
版本
更新日志
Rsbuild 0.x 文档
English
简体中文
指南
配置
插件
API
社区
更新日志
Rsbuild 0.x 文档
English
简体中文
logologo

开始

介绍
快速上手
功能导航
名词解释

框架

React
Vue
Preact
Svelte
Solid

基础

命令行工具
开发服务器
构建产物
静态资源
HTML
JSON
Wasm
TypeScript
Web Workers
部署静态站点
升级 Rsbuild

配置

配置 Rspack
配置 Rsbuild
配置 SWC

样式

CSS
CSS Modules
CSS-in-JS
Tailwind CSS v4
Tailwind CSS v3
UnoCSS

进阶

路径别名
环境变量
模块热更新
浏览器范围
浏览器兼容性
模块联邦
多环境构建
服务端渲染(SSR)
测试

优化

代码拆分
产物体积优化
提升构建性能
静态资源内联

迁移

从 Rsbuild 0.x 迁移
webpack
Create React App
Vue CLI
Vite
Vite 插件
Modern.js Builder

调试

开启调试模式
构建性能分析
使用 Rsdoctor

常见问题

通用类问题
功能类问题
异常类问题
热更新问题
📝 在 GitHub 上编辑此页
上一页快速上手
下一页名词解释

#功能导航

在这里,你可以了解到 Rsbuild 支持的主要功能。

#JavaScript 编译

功能描述相关链接
Rspack默认使用 Rspack 作为打包工具
  • 配置 Rspack
SWC 编译默认通过 SWC 对 JavaScript 和 TypeScript 代码进行转译和压缩
  • 配置 SWC
TS 编译默认通过 SWC 编译 TS 文件
  • TypeScript 转译
代码压缩默认在生产模式构建时开启代码压缩
  • output.minify
Polyfill 注入可选功能,注入 core-js 等 polyfill
  • 浏览器兼容性
  • output.polyfill
SourceMap 生成默认在开发模式生成 SourceMap
  • output.sourceMap
文件别名可选功能,通过 alias 设置文件别名
  • 路径别名
  • resolve.alias
Babel 编译可选功能,通过 Babel 对 JavaScript 和 TypeScript 代码进行转译
  • Babel 插件
Node 产物可选功能,构建运行在 Node.js 环境的产物
  • Node 产物
Web Workers可选功能,使用 Web Workers
  • Web Workers
浏览器范围可选功能,通过 browserslist 来设置 Web 应用需要兼容的浏览器范围
  • 浏览器范围
兼容性检查可选功能,分析构建产物中是否存在当前浏览器范围下不兼容的高级语法
  • @rsbuild/plugin-check-syntax
注入环境变量可选功能,向代码中注入环境变量或表达式
  • 环境变量
Node polyfill可选功能,在浏览器端注入 Node 核心模块的 polyfills
  • Node Polyfill 插件
TS 类型检查可选功能,运行 type checker 检查代码中的类型问题
  • 类型检查
模块联邦可选功能,动态加载模块,并共享依赖关系
  • 模块联邦

#CSS 编译

功能描述相关链接
Lightning CSS默认启用,使用 Lightning CSS 降级 CSS 语法
  • CSS
Tailwind CSS可选功能,使用 Tailwind CSS
  • Tailwind CSS
UnoCSS可选功能,使用 UnoCSS
  • UnoCSS
PostCSS 转换可选功能,开启 PostCSS 转换
  • CSS
  • tools.postcss
Sass 预处理器可选功能,编译 Sass/Scss 文件
  • CSS
  • Sass 插件
Less 预处理器可选功能,编译 Less 文件
  • CSS
  • Less 插件
Stylus 预处理器可选功能,编译 Stylus 文件
  • CSS
  • Stylus 插件
CSS Modules 编译默认支持编译 CSS Modules 文件
  • CSS Modules
  • tools.cssLoader
CSS Modules 类型提示可选功能,生成 CSS Modules 的类型定义文件
  • Typed CSS Modules 插件
CSS 压缩默认在生产模式构建时开启 CSS 压缩
  • CSS
内联 CSS 到 JS 中可选功能,将 CSS 文件内联到 JS 文件中
  • CSS
  • output.injectStyles

#HTML 编译

功能描述相关链接
设置标题设置 HTML 的 <title> 标签
  • 设置页面标题
  • html.title
设置 meta设置 HTML 的 <meta> 标签
  • 设置 meta 标签
  • html.meta
设置 favicon设置 favicon 图标
  • 设置页面图标
  • html.favicon
设置 app 图标设置 Web 应用的图标
  • 设置页面图标
  • html.appIcon
EJS 模板可选功能,使用 EJS 模板语法
  • 模板引擎 - EJS
Pug 模板引擎可选功能,使用 Pug 模板语法
  • Pug 插件
内联 JS 文件可选功能,将 JS 内联到 HTML 中
  • 静态资源内联
  • output.inlineScripts
内联 CSS 文件可选功能,将 CSS 内联到 HTML 中
  • 静态资源内联
  • output.inlineStyles

#Server

功能描述相关链接
Public 目录默认将 public 目录作为静态资源服务的文件夹
  • server.publicDir
SSR可选功能,实现服务端渲染
  • 服务端渲染
请求代理可选功能,将请求代理到指定的服务上
  • server.proxy
打开页面可选功能,在启动 server 时自动在浏览器中打开页面
  • server.open
HTTPS可选功能,开启 server 对 HTTPS 的支持
  • server.https
自定义中间件可选功能,使用自定义的中间件
  • 中间件

#UI 框架

功能描述相关链接
React可选功能,开启 React JSX 语法编译
  • React 插件
React Refresh可选功能,开启 React Refresh 热更新
  • 模块热更新
  • dev.hmr
SVGR可选功能,转换 SVG 为 React 组件
  • SVGR 插件
Vue 3 SFC可选功能,开启 Vue 3 SFC 单文件组件编译
  • Vue 插件
Vue 3 JSX可选功能,开启 Vue 3 JSX 语法编译
  • Vue JSX 插件
Vue 2 SFC可选功能,开启 Vue 2 SFC 单文件组件编译
  • Vue 2 插件
Vue 2 JSX可选功能,开启 Vue 2 JSX 语法编译
  • Vue 2 JSX 插件
Svelte可选功能,开启 Svelte 组件编译
  • Svelte 插件
Solid可选功能,开启 Solid JSX 语法编译
  • Solid 插件

#静态资源

功能描述相关链接
图片资源支持在代码中引用图片资源
  • 静态资源
字体资源支持在代码中引用字体资源
  • 静态资源
视频资源支持在代码中引用视频资源
  • 静态资源
Wasm 资源支持在代码中引用 WebAssembly 资源
  • 引用 Wasm 资源
Node addons支持在代码中引用 Node.js addons
  • Node addons
静态资源内联默认将体积较小的图片等资源内联到 JS 中
  • 静态资源内联
  • output.dataUriLimit
清理静态资源每次开始构建前,自动清理 dist 目录下的静态资源
  • output.cleanDistPath
拷贝静态资源可选功能,将静态资源拷贝到 dist 目录下
  • output.copy
生成 manifest 文件可选功能,生成 manifest.json 文件
  • output.manifest

#性能和调试

功能描述相关链接
代码拆分Rsbuild 中内置了多种拆包策略,自动将代码包拆分为体积适中的文件
  • 代码拆分
  • performance.chunkSplit
展示产物体积在生产模式构建后,默认展示所有静态资源的体积信息
  • performance.printFileSize
分析构建流程可选功能,使用 Rsdoctor 分析构建流程
  • 使用 Rsdoctor
分析产物体积可选功能,通过 Bundle Analyzer 分析产物体积
  • performance.bundleAnalyze
移除 console可选功能,移除代码中的 console.[methodName]
  • performance.removeConsole
优化 moment.js 体积可选功能,移除 moment.js 多余的 locale 文件
  • performance.removeMomentLocale
移除重复包可选功能,移除重复引用的 npm 包
  • resolve.dedupe
组件库按需引入可选功能,按需引入组件库的代码和样式
  • source.transformImport
图片压缩可选功能,对引用的图片资源进行压缩处理
  • Image compress 插件
Preload可选功能,对资源进行预加载
  • performance.preload
Prefetch可选功能,对资源进行预获取
  • performance.prefetch
Preconnect可选功能,对资源进行预连接
  • performance.preconnect
DNS prefetch可选功能,对资源进行 DNS 预获取
  • performance.dnsPrefetch