# Rsbuild > Rsbuild is a high-performance build tool powered by Rspack. ## 指南 - [介绍](/zh/guide/start/index.md): Rsbuild 入门指南,介绍核心能力、性能特性、生态定位和后续学习路径。 - [快速上手](/zh/guide/start/quick-start.md): 快速开始使用 Rsbuild,包括创建项目、启动开发服务和构建生产产物。 - [功能导航](/zh/guide/start/features.md): 在这里,你可以了解到 Rsbuild 支持的主要功能。 - [名词解释](/zh/guide/start/glossary.md): Rsbuild 与前端构建术语表,涵盖 Bundler、CSR、Environment、Module Federation、SSR 和 SWC 等概念。 - [AI](/zh/guide/start/ai.md): Rsbuild 的 AI 使用指南,介绍 Agent Skills、llms.txt、Markdown 文档和 AGENTS.md 的协作方式。 - [React](/zh/guide/framework/react.md): 在这篇文档中,你可以了解到如何基于 Rsbuild 来构建一个 React 应用。 - [Vue](/zh/guide/framework/vue.md): 在这篇文档中,你可以了解到如何基于 Rsbuild 构建 Vue 应用,以及如何支持 Vue 2。 - [Preact](/zh/guide/framework/preact.md): 本文介绍如何基于 Rsbuild 构建 Preact 应用。 - [Svelte](/zh/guide/framework/svelte.md): 本文介绍如何基于 Rsbuild 构建 Svelte 应用。 - [Solid](/zh/guide/framework/solid.md): 本文介绍如何基于 Rsbuild 构建 Solid 应用。 - [命令行工具](/zh/guide/basic/cli.md): Rsbuild 内置了一个轻量的命令行工具,包含 rsbuild dev、rsbuild build 等命令。 - [开发服务器](/zh/guide/basic/server.md): Rsbuild 配备了一个内置的开发服务器,旨在提升开发体验。当你执行 rsbuild dev 或 rsbuild preview 命令时,该服务器将启动,并提供页面预览、路由、模块热更新等功能。 - [构建产物](/zh/guide/basic/output-files.md): 本章节主要介绍构建产物的目录结构,以及如何控制不同类型产物的输出目录。 - [静态资源](/zh/guide/basic/static-assets.md): Rsbuild 支持在代码中引用图片、字体、媒体和其他类型文件等静态资源。 - [HTML](/zh/guide/basic/html-template.md): 在构建的过程中,Rsbuild 会基于 HTML 模板文件和模板参数进行编译,生成若干份 HTML 文件。 - [JSON](/zh/guide/basic/json-files.md): Rsbuild 支持在代码中引用 JSON 文件,也支持引用 YAML 和 TOML 文件并将其转换为 JSON 格式。 - [Wasm](/zh/guide/basic/wasm-assets.md): Rsbuild 提供了对 WebAssembly (WASM) 模块的原生支持,允许在项目中直接导入和使用 .wasm 资源。 - [TypeScript](/zh/guide/basic/typescript.md): Rsbuild 默认支持 TypeScript,你可以直接在项目中使用 .ts 和 .tsx 文件。 - [Web Workers](/zh/guide/basic/web-workers.md): 本文将介绍在 Rsbuild 项目中如何配置和使用 Web Workers。 - [部署](/zh/guide/basic/deployment.md): 本章节介绍如何将 Rsbuild 项目部署到静态托管平台或运行时平台。 - [配置 Rspack](/zh/guide/configuration/rspack.md): Rsbuild 支持直接修改 Rspack 配置对象,也支持通过 rspack-chain 来修改 Rsbuild 内置的 Rspack 配置。 - [配置 Rsbuild](/zh/guide/configuration/rsbuild.md): Rsbuild 提供了丰富的配置项,并为每个配置项预设了一个通用的默认值,它可以满足大部分使用场景。因此,在大多数情况下,你不需要声明任何 Rsbuild 配置,直接开箱使用即可。 - [配置 SWC](/zh/guide/configuration/swc.md): SWC(Speedy Web Compiler)是基于 Rust 语言编写的高性能 JavaScript 和 TypeScript 转译和压缩工具。SWC 提供与 Babel 和 Terser 相似的能力,在单线程上它比 Babel 快 20 倍,在四核上它比 Babel 快 70 倍。 - [CSS](/zh/guide/styling/css-usage.md): Rsbuild 对 CSS 提供开箱即用的支持,包括 Lightning CSS、PostCSS、CSS Modules、CSS 预处理器、CSS 内联和 CSS 压缩。 - [CSS Modules](/zh/guide/styling/css-modules.md): CSS Modules 让我们能以模块化的方式编写 CSS 代码,并且可以在 JavaScript 文件中导入和使用这些样式。使用 CSS Modules 可以自动生成唯一的类名,隔离不同模块之间的样式,避免类名冲突。 - [CSS-in-JS](/zh/guide/styling/css-in-js.md): 本文档列出了在 Rsbuild 中使用常见 CSS-in-JS 库的方法。 - [Tailwind CSS v4](/zh/guide/styling/tailwindcss.md): 在 Rsbuild 中通过推荐的 @rsbuild/plugin-tailwindcss 集成 Tailwind CSS v4,也可以继续使用 @tailwindcss/postcss 插件。 - [Tailwind CSS v3](/zh/guide/styling/tailwindcss-v3.md): Tailwind CSS 是一个以 Utility Class 为基础的 CSS 框架和设计系统,可以快速地为组件添加常用样式,同时支持主题样式的灵活扩展。 - [UnoCSS](/zh/guide/styling/unocss.md): UnoCSS 是一个灵活可扩展的原子化的 CSS 引擎,所有 CSS 工具类都是通过 preset 提供的。 - [路径别名](/zh/guide/advanced/alias.md): 路径别名(alias)允许开发者为模块定义别名,以便于在代码中更方便的引用它们。当你想要使用一个简短、易于记忆的名称来代替冗长复杂的路径时,这将非常有用。 - [环境变量](/zh/guide/advanced/env-vars.md): Rsbuild 支持在构建过程中向代码中注入环境变量或表达式,这对于区分运行环境、替换常量值等场景很有帮助。 - [模块热更新](/zh/guide/advanced/hmr.md): 模块热更新指南,介绍相关能力、配置方法和实践建议。 - [日志](/zh/guide/advanced/logging.md): 系统了解 Rsbuild 中 logger、createLogger、customLogger、logLevel 与 dev.client.logLevel 的关系。 - [浏览器范围](/zh/guide/advanced/browserslist.md): Rsbuild 支持通过 Browserslist 来设置 Web 应用需要兼容的浏览器范围。 - [浏览器兼容性](/zh/guide/advanced/browser-compatibility.md): Rsbuild 默认支持 现代浏览器,同时提供语法降级和 API 降级能力,最低可以兼容到支持 ES5 的旧版浏览器(如 IE11)。 - [模块联邦](/zh/guide/advanced/module-federation.md): Module Federation 是一种 JavaScript 应用分治的架构模式(类似于服务端的微服务),它允许你在多个 JavaScript 应用程序(或微前端)之间共享代码和资源。 - [多环境构建](/zh/guide/advanced/environments.md): Rsbuild 支持同时为多个环境构建产物。你可以使用 environments 来并行构建多个环境,并为每个环境设置不同的 Rsbuild 配置。 - [服务端渲染(SSR)](/zh/guide/advanced/ssr.md): 本章节介绍如何使用 Rsbuild 实现 SSR 功能。 - [测试](/zh/guide/advanced/testing.md): Rsbuild 本身不内置测试框架,它可以与各种流行的测试工具配合使用。 - [代码分割](/zh/guide/optimization/code-splitting.md): 代码分割是将代码拆分为多个 chunk 的过程,用于按需加载代码并提升性能。通过合理地拆分代码,可以减少首屏加载体积,加快页面加载速度。 - [产物体积优化](/zh/guide/optimization/optimize-bundle.md): 产物体积的优化在生产环境中是非常重要的,因为它直接影响到了线上的用户体验。在这篇文档中,我们将介绍在 Rsbuild 中一些常见的产物体积优化方式。 - [提升构建性能](/zh/guide/optimization/build-performance.md): Rsbuild 默认对构建性能进行了充分优化,但是随着使用场景变复杂、项目代码量变大,你可能会遇到一些构建性能的问题。 - [静态资源内联](/zh/guide/optimization/inline-assets.md): 静态资源内联是一种优化网页性能的方法,它指的是将静态资源直接内联到 HTML 或 JS 文件中,而不是使用外部文件引用的方式。这样做的好处是减少了浏览器发起的请求数,从而提高页面的加载速度。 - [升级 Rsbuild](/zh/guide/upgrade/upgrade-rsbuild.md): 本章节介绍如何升级项目中的 Rsbuild 依赖到最新版本。 - [从 v1 升级到 v2](/zh/guide/upgrade/v1-to-v2.md): 当前文档列出了从 Rsbuild v1 到 2.0 的所有不兼容更新,你可以参考此文档来迁移。 - [从 0.x 升级到 v1](/zh/guide/upgrade/v0-to-v1.md): 当前文档列出了从 Rsbuild 0.7 到 1.0 的所有不兼容更新,你可以参考此文档来迁移。 - [webpack](/zh/guide/migration/webpack.md): 本章节介绍如何将使用 webpack 的项目迁移到 Rsbuild。 - [Create React App](/zh/guide/migration/cra.md): 本章节介绍如何将 Create React App(简称 CRA)或 CRACO 项目迁移到 Rsbuild。 - [Vue CLI](/zh/guide/migration/vue-cli.md): 本章节介绍如何将 Vue CLI 项目迁移到 Rsbuild。 - [Vite](/zh/guide/migration/vite.md): 本章节介绍如何将 Vite 项目迁移到 Rsbuild。 - [Vite 插件](/zh/guide/migration/vite-plugin.md): 本章节介绍如何将 Vite 插件迁移到 Rsbuild 插件。 - [TanStack Start](/zh/guide/migration/tanstack-start.md): 将 TanStack Start 的 React 或 Solid 应用从 Vite 迁移到 Rsbuild,涵盖 Rstest 和 Node.js 部署。 - [开启调试模式](/zh/guide/debug/debug-mode.md): 为了便于排查问题,Rsbuild 提供了调试模式,你可以在执行构建时添加 DEBUG=rsbuild 环境变量来开启 Rsbuild 的调试模式。 - [构建性能分析](/zh/guide/debug/build-profiling.md): 进行构建性能分析可以帮助你确定项目中的性能瓶颈,从而采取针对性的优化。 - [使用 Rsdoctor](/zh/guide/debug/rsdoctor.md): Rsdoctor 是一款为 Rspack 生态量身打造的构建分析工具。 - [通用类问题](/zh/guide/faq/general.md): Rsbuild 常见问题解答,聚焦基础概念、生态定位和常见问题。 - [功能类问题](/zh/guide/faq/features.md): Rsbuild 常见问题解答,聚焦功能取舍、能力边界和生态支持。 - [异常类问题](/zh/guide/faq/exceptions.md): Rsbuild 常见问题解答,聚焦构建与运行时异常排查。 - [热更新问题](/zh/guide/faq/hmr.md): Rsbuild 常见问题解答,聚焦HMR 和开发时更新行为。 ## 配置 - [配置总览](/zh/config/index.md): 当前页面列出了 Rsbuild 所有的配置项,请查看 「配置 Rsbuild」 了解使用方式。 - [root](/zh/config/root.md): 指定项目根目录。可以是绝对路径,也可以是相对于 process.cwd() 的路径。 - [mode](/zh/config/mode.md): 指定 Rsbuild 构建的模式,各个模式默认的行为和优化不同,比如 production 模式默认会压缩代码。 - [plugins](/zh/config/plugins.md): 默认情况下,插件会按照 plugins 数组中的顺序依次执行,Rsbuild 内置插件的执行时机早于用户注册的插件。 - [logLevel](/zh/config/log-level.md): 指定 Rsbuild 的日志级别,默认值为 info。 - [splitChunks](/zh/config/split-chunks.md): splitChunks 用于配置 Rsbuild 的 chunk 拆分策略。 - [environments](/zh/config/environments.md): Rsbuild 支持同时为多个环境构建产物。你可以使用 environments 为每个环境定义不同的 Rsbuild 配置。 - [customLogger](/zh/config/custom-logger.md): 为当前 Rsbuild 实例指定独立的 logger。推荐配合 createLogger() 创建,避免修改共享 logger。 - [dev.assetPrefix](/zh/config/dev/asset-prefix.md): assetPrefix 会影响构建产物中绝大部分静态资源的 URL,包括 JavaScript 文件、CSS 文件、图片、视频等。如果指定了一个错误的值,则在加载这些资源时可能会出现 404 错误。 - [dev.browserLogs](/zh/config/dev/browser-logs.md): 当设置为 true 时,Rsbuild 的客户端脚本会监听浏览器中的 window.error 事件,以及未捕获的 Promise 拒绝事件,并将这些错误信息发送到开发服务器。开发服务器会在终端中打印这些日志,前缀为 [browser],同时带有改进的格式和上下文信息。 - [dev.cliShortcuts](/zh/config/dev/cli-shortcuts.md): custom 选项可以自定义快捷键,custom 的值是一个函数,接收默认的 shortcuts 列表,并返回一个新的 shortcuts 列表。 - [dev.client](/zh/config/dev/client.md): 配置 Rsbuild 在开发过程中注入的 client 代码,可以用于设置热更新对应的 WebSocket URL。 - [dev.hmr](/zh/config/dev/hmr.md): 是否开启 Hot Module Replacement 热更新能力。 - [dev.lazyCompilation](/zh/config/dev/lazy-compilation.md): 用于开启 lazy compilation(即按需编译),基于 Rspack 的 lazy compilation 特性实现。 - [dev.liveReload](/zh/config/dev/live-reload.md): 默认情况下,Rsbuild 会优先使用 HMR 来更新模块。当 HMR 功能被禁用,或者某些场景 HMR 无法生效时,会自动降级到 liveReload。 - [dev.progressBar](/zh/config/dev/progress-bar.md): 在 @rsbuild/core < 1.4.0 版本中,进度条在生产模式下默认开启。 - [dev.watchFiles](/zh/config/dev/watch-files.md): 监听指定文件和目录的变化。当文件发生变化时,可以触发页面重新加载,也可以重启 dev server 或监听构建。 - [dev.writeToDisk](/zh/config/dev/write-to-disk.md): 在开发模式下,Rsbuild 默认会将构建产物保存在 dev server 的内存中,而不是写入磁盘,这样可以减少 fs 操作产生的开销。你可以参考 查看静态资源 查看当前构建生成的所有静态资源。 - [resolve.aliasStrategy](/zh/config/resolve/alias-strategy.md): 设置路径别名解析的策略,用于控制 tsconfig.json 中的 paths 选项与 Rsbuild 的 resolve.alias 选项之间的优先级关系。 - [resolve.alias](/zh/config/resolve/alias.md): 设置模块路径的别名,用于简化导入路径或重定向模块引用。 - [resolve.conditionNames](/zh/config/resolve/condition-names.md): 指定用于匹配包 exports 字段 入口点的 condition names(条件名称)。 - [resolve.dedupe](/zh/config/resolve/dedupe.md): 强制 Rsbuild 从项目根目录解析指定的包,这可以用于移除重复包和减少包大小。 - [resolve.extensions](/zh/config/resolve/extensions.md): 自动添加导入文件的扩展名。这意味着你可以导入文件,而不需要显式地写它们的扩展名。 - [resolve.mainFields](/zh/config/resolve/main-fields.md): 控制用于定位包入口文件的 package.json 字段优先级。Rspack 在解析 npm 包入口时,会按该列表的顺序依次尝试这些字段。 - [source.assetsInclude](/zh/config/source/assets-include.md): Rsbuild 默认会将图片、字体、音频、视频等常见文件类型视为静态资源。通过配置 source.assetsInclude,你可以添加更多的文件类型,这些新增的静态资源将按照与内置静态资源相同的规则进行处理,详见 静态资源。 - [source.decorators](/zh/config/source/decorators.md): 如果你希望了解不同装饰器版本的区别,可以参考:How does this proposal compare to other versions of decorators? - [source.define](/zh/config/source/define.md): 构建时将代码中的变量替换成其它值或者表达式,可以用于在代码逻辑中区分开发模式与生产模式等场景。 - [source.entry](/zh/config/source/entry.md): source.entry 的值是一个对象,key 是入口名称,value 是入口模块的路径,或是一个 描述对象。 - [source.exclude](/zh/config/source/exclude.md): 排除不需要被 SWC 编译的 JavaScript 或 TypeScript 文件。 - [source.include](/zh/config/source/include.md): 用于指定额外需要被 SWC 编译的 JavaScript 文件。 - [source.preEntry](/zh/config/source/pre-entry.md): 在每个页面的入口文件前添加一段代码,这段代码会早于页面的代码执行,因此可以用于执行一些全局的代码逻辑,比如注入 polyfill、设置全局样式等。 - [source.transformImport](/zh/config/source/transform-import.md): 转换 import 的路径,可以用于模块化引用三方包的子路径,能力类似于 babel-plugin-import。 - [source.tsconfigPath](/zh/config/source/tsconfig-path.md): 配置自定义的 tsconfig.json 文件路径,可以是相对路径或绝对路径。 - [output.assetPrefix](/zh/config/output/asset-prefix.md): 在 生产模式 下,可以使用该选项设置静态资源的 URL 前缀,比如设置为 CDN 地址。 - [output.autoExternal](/zh/config/output/auto-external.md): 使用 output.autoExternal 自动 external package.json 中声明的依赖。 - [output.charset](/zh/config/output/charset.md): charset 配置项允许你指定输出文件的字符编码,以确保它们在不同的环境中能够正确显示。 - [output.cleanDistPath](/zh/config/output/clean-dist-path.md): 是否在构建开始前清理产物目录下的所有文件,产物目录为 output.distPath.root 的值。 - [output.copy](/zh/config/output/copy.md): 将指定的文件或目录拷贝到构建输出目录中,基于 rspack.CopyRspackPlugin 实现。 - [output.cssModules](/zh/config/output/css-modules.md): Rsbuild 的 CSS Modules 功能是基于 css-loader 的 modules 选项实现的,你可以参考 css-loader - modules 来了解更多。 - [output.dataUriLimit](/zh/config/output/data-uri-limit.md): 设置图片、字体、媒体等静态资源被自动内联为 base64 的体积阈值。 - [output.distPath](/zh/config/output/dist-path.md): 设置构建产物的输出目录,Rsbuild 会根据产物的类型将其输出到相应的子目录中。 - [output.emitAssets](/zh/config/output/emit-assets.md): 用于控制是否输出图片、字体、媒体和其他类型文件等静态资源。 - [output.emitCss](/zh/config/output/emit-css.md): 如果 false,CSS 将不会被提取为单独的 .css 文件,也不会通过 output.injectStyles 注入到 JavaScript 产物中。 - [output.externals](/zh/config/output/externals.md): output.externals 用于指定哪些模块不需要被 Rsbuild 打包,而是直接使用外部环境中提供的实现。 - [output.filenameHash](/zh/config/output/filename-hash.md): 配置是否在产物文件名中添加 hash 值。 - [output.filename](/zh/config/output/filename.md): 在生产模式构建后,Rsbuild 会自动在文件名中间添加 hash 值,如果不需要添加,可以将 output.filenameHash 设置为 false 来禁用该行为。 - [output.injectStyles](/zh/config/output/inject-styles.md): 控制是否将 CSS 内联到 JS 文件中,并在运行时注入页面,而不是提取为独立的 `.css` 文件。 - [output.inlineScripts](/zh/config/output/inline-scripts.md): 用来控制是否用 script 标签将产物中的 script 文件(.js 文件)inline 到 HTML 中。 - [output.inlineStyles](/zh/config/output/inline-styles.md): 用来控制是否用 style 标签将产物中的 style 文件(.css 文件)inline 到 HTML 中。 - [output.legalComments](/zh/config/output/legal-comments.md): 配置 legal comments 的处理方式。 - [output.manifest](/zh/config/output/manifest.md): manifest 文件包含所有构建产物的信息、以及 入口模块 与构建产物间的映射关系。 - [output.minify](/zh/config/output/minify.md): 用于设置开启代码压缩,以及提供选项来配置压缩工具。 - [output.module](/zh/config/output/module.md): 是否以 ES 模块格式输出 JavaScript 文件。 - [output.overrideBrowserslist](/zh/config/output/override-browserslist.md): 该值会被 SWC 和 Lightning CSS 等工具读取,用来确定需要转换的 JavaScript 语法特性和需要添加的 CSS 浏览器前缀。 - [output.polyfill](/zh/config/output/polyfill.md): 当你启用 polyfill 注入时,请确保项目中已安装 core-js v3,它是一个流行的 JavaScript polyfill 库。 - [output.sourceMap](/zh/config/output/source-map.md): 用于设置是否生成 source map 文件,以及生成哪一种格式的 source map。 - [output.target](/zh/config/output/target.md): Rsbuild 支持多种构建产物类型,分别适用于不同的目标运行环境。在设置产物类型后,Rsbuild 的默认配置会有所变化。 - [html.appIcon](/zh/config/html/app-icon.md): Rsbuild 的 html.app-icon 配置项参考,包含作用、默认值、配置行为和使用示例。 - [html.crossorigin](/zh/config/html/crossorigin.md): 用于设置 script 和 style 标签的 crossorigin 属性。 - [html.favicon](/zh/config/html/favicon.md): 配置该选项后,在编译过程中会自动将图标拷贝至 dist 目录下,并在 HTML 中添加相应的 link 标签。 - [html.inject](/zh/config/html/inject.md): 修改构建产物中 script 标签在 HTML 中的插入位置。 - [html.meta](/zh/config/html/meta.md): 如果当前项目使用的 HTML 模板中已经包含了 charset 或 viewport meta 标签,那么 HTML 模板中的标签优先级更高。 - [html.mountId](/zh/config/html/mount-id.md): 默认情况下,HTML 模板中包含了 root 节点用于组件挂载,通过 mountId 可以修改该节点的 id。 - [html.outputStructure](/zh/config/html/output-structure.md): Rsbuild 的 html.output-structure 配置项参考,包含作用、默认值、配置行为和使用示例。 - [html.scriptLoading](/zh/config/html/script-loading.md): 指定由 Rsbuild 生成的 script 标签的加载方式。 - [html.tags](/zh/config/html/tags.md): Rsbuild 的 html.tags 配置项参考,包含作用、默认值、配置行为和使用示例。 - [html.templateParameters](/zh/config/html/template-parameters.md): 定义 HTML 模板中的参数,详细用法请参考 HTML 模板 - 模板参数。 - [html.template](/zh/config/html/template.md): 定义 HTML 模板的文件路径,可以是相对路径或绝对路径。 - [html.title](/zh/config/html/title.md): 如果当前项目使用的 HTML 模板中已经包含了 title 标签,那么 html.title 将不会生效。 - [server.base](/zh/config/server/base.md): server.base 用于配置服务器的基础路径。 - [server.compress](/zh/config/server/compress.md): 配置开发和预览服务器是否对静态资源启用 gzip 压缩。 - [server.cors](/zh/config/server/cors.md): 为开发服务器和预览服务器配置 CORS 选项,基于 cors 中间件实现。 - [server.headers](/zh/config/server/headers.md): 向所有 Rsbuild 服务器发送的响应添加 headers。此配置基于 Node.js 的 response.setHeader() 方法实现。 - [server.historyApiFallback](/zh/config/server/history-api-fallback.md): historyApiFallback 用于支持基于 history API 的路由,当用户访问不存在的路径时,自动返回指定的 HTML 文件,避免出现 404 错误。 - [server.host](/zh/config/server/host.md): 指定 Rsbuild server 启动时监听的 host。 - [server.htmlFallback](/zh/config/server/html-fallback.md): Rsbuild 的 server.html-fallback 配置项参考,包含作用、默认值、配置行为和使用示例。 - [server.https](/zh/config/server/https.md): 配置 HTTPS 选项以启用 HTTPS 服务器。当启用时,HTTP 服务器将被禁用。 - [server.middlewareMode](/zh/config/server/middleware-mode.md): 是否以中间件模式来创建 Rsbuild 的 server,这有助于与其他 server 集成。 - [server.open](/zh/config/server/open.md): server.open 用于配置一组页面 URL,Rsbuild 会在启动 server 后自动在浏览器中打开这些页面。 - [server.port](/zh/config/server/port.md): 设置 Rsbuild server 监听的端口号。 - [server.printUrls](/zh/config/server/print-urls.md): 控制是否以及如何打印 server 的 URL 地址。 - [server.proxy](/zh/config/server/proxy.md): 为开发服务器或预览服务器配置代理规则,把请求转发到指定服务。 - [server.publicDir](/zh/config/server/public-dir.md): 默认情况下,Rsbuild 会将 public 目录作为静态资源服务的文件夹,该目录中的文件可在 server.base 路径下访问(默认 /)。 - [server.setup](/zh/config/server/setup.md): 在 Rsbuild 的开发服务器或预览服务器启动时执行初始化逻辑,例如注册自定义的中间件、执行前置任务等。 - [server.strictPort](/zh/config/server/strict-port.md): 控制在指定端口被占用时,Rsbuild 是否直接抛出错误,而不是自动使用下一个可用端口。 - [security.nonce](/zh/config/security/nonce.md): 为 HTML 所引入的脚本资源添加随机属性值 nonce,使浏览器在解析到带有匹配 nonce 值的内联脚本时,能判断该脚本是否能执行。 - [security.sri](/zh/config/security/sri.md): 为 HTML 所引入的 script 和 link 标签添加完整性属性 —— integrity,使浏览器能够验证引入资源的完整性,以此防止下载的资源被篡改。 - [tools.bundlerChain](/zh/config/tools/bundler-chain.md): Rsbuild 的 tools.bundler-chain 配置项参考,包含作用、默认值、配置行为和使用示例。 - [tools.cssExtract](/zh/config/tools/css-extract.md): Rsbuild 默认使用 CssExtractRspackPlugin 插件将 CSS 提取为独立的文件。 - [tools.cssLoader](/zh/config/tools/css-loader.md): Rsbuild 默认使用 css-loader 来处理 CSS 资源。你可以通过 tools.cssLoader 来修改 css-loader 的选项。 - [tools.htmlPlugin](/zh/config/tools/html-plugin.md): 通过 tools.htmlPlugin 可以修改 html-rspack-plugin 的配置项。 - [tools.lightningcssLoader](/zh/config/tools/lightningcss-loader.md): 通过 tools.lightningcssLoader 可以设置 builtin:lightningcss-loader 的选项。 - [tools.postcss](/zh/config/tools/postcss.md): Rsbuild 默认集成 PostCSS,你可以通过 tools.postcss 对 postcss-loader 进行配置。 - [tools.rspack](/zh/config/tools/rspack.md): tools.rspack 选项用于修改 Rspack 的配置项。 - [tools.styleLoader](/zh/config/tools/style-loader.md): 通过 tools.styleLoader 可以设置 style-loader 的配置项。 - [tools.swc](/zh/config/tools/swc.md): 通过 tools.swc 可以设置 builtin:swc-loader 的选项。 - [performance.buildCache](/zh/config/performance/build-cache.md): 当启用时,Rspack 会在缓存目录中存储构建快照。在后续的构建中,如果命中缓存,Rspack 可以重用缓存的结果,而不是从头开始重新构建,这可以显著减少构建时间。 - [performance.dnsPrefetch](/zh/config/performance/dns-prefetch.md): 当浏览器从(第三方)服务器请求资源时,必须先将该跨源域名解析为 IP 地址,然后浏览器才能发出请求。此过程称为 DNS 解析。虽然 DNS 缓存可以帮助减少此延迟,但 DNS 解析可能会给请求增加明显的延迟。 - [performance.preconnect](/zh/config/performance/preconnect.md): link 元素的 rel 属性的 preconnect 关键字是对浏览器的一种提示,即用户很可能需要来自目标来源的资源,因此浏览器很可能通过抢先启动与该源的连接来改善用户体验。通过抢先执行部分或全部握手(HTTP 为 DNS+TCP,HTTPS 为 DNS+TCP+TLS),预连接可加快未来从给定源加载的速度。 - [performance.prefetch](/zh/config/performance/prefetch.md): 为 Rsbuild 构建生成的静态资源注入 link 标签。 - [performance.preload](/zh/config/performance/preload.md): 为 Rsbuild 构建生成的静态资源注入 link 标签。 - [performance.printFileSize](/zh/config/performance/print-file-size.md): 是否在生产模式构建后输出所有静态资源文件的体积。 - [performance.removeConsole](/zh/config/performance/remove-console.md): 在生产模式构建时,是否自动移除代码中的 console.[methodName]。 - [moduleFederation.options](/zh/config/module-federation/options.md): 用于配置 Rspack 模块联邦插件(对应模块联邦 v1.5)。 ## 插件 - [总览](/zh/plugins/list/index.md): 你可以阅读 插件系统 来了解 Rsbuild 插件的功能,以及如何开发一个 Rsbuild 插件。 - [React 插件](/zh/plugins/list/plugin-react.md): React 插件提供了对 React 的支持,插件内部集成了 JSX 编译、React Refresh 等功能。 - [SVGR 插件](/zh/plugins/list/plugin-svgr.md): 默认情况下,Rsbuild 会将 SVG 图片当作静态资源处理,处理规则可参考:静态资源。 - [Vue 插件](/zh/plugins/list/plugin-vue.md): Vue 插件提供了对 Vue 3 SFC(单文件组件)的支持,插件内部集成了 rspack-vue-loader。 - [Preact 插件](/zh/plugins/list/plugin-preact.md): Preact 插件提供了对 Preact 的支持,插件内部集成了 JSX 编译、React aliasing 等功能。 - [Svelte 插件](/zh/plugins/list/plugin-svelte.md): Svelte 插件提供了对 Svelte 组件(.svelte 文件)的支持,插件内部集成了 svelte-loader。 - [Solid 插件](/zh/plugins/list/plugin-solid.md): 在 Rsbuild 中使用 Solid,支持 JSX 编译、Solid Refresh 和服务端渲染。 - [Babel 插件](/zh/plugins/list/plugin-babel.md): Rsbuild 默认使用 SWC 编译,当内置的功能无法满足诉求、需要添加一些 Babel presets 或 plugins 进行额外处理时,你可以使用 Rsbuild 的 Babel 插件。 - [Tailwind CSS 插件](/zh/plugins/list/plugin-tailwindcss.md): 基于 @tailwindcss/webpack 在 Rsbuild 中集成 Tailwind CSS v4,无需通过 @tailwindcss/postcss 执行转换,提供更好的构建性能。 - [Sass 插件](/zh/plugins/list/plugin-sass.md): 使用 Sass 作为 CSS 预处理器,基于 sass-loader 实现。 - [Less 插件](/zh/plugins/list/plugin-less.md): 使用 Less 作为 CSS 预处理器,基于 less-loader 实现。 - [插件开发](/zh/plugins/dev/index.md): 插件系统是 Rsbuild 架构的核心,Rsbuild 的大部分功能都是通过插件实现的,这种设计让核心保持轻量,同时提供了灵活的扩展性。 - [插件 API](/zh/plugins/dev/core.md): 本章节了介绍 Rsbuild 插件的 API 类型定义和使用方法。 - [插件 hooks](/zh/plugins/dev/hooks.md): 本章节介绍 Rsbuild 插件可用的 hooks。 ## API - [JavaScript API](/zh/api/start/index.md): Rsbuild JavaScript API 总览,介绍核心方法、实例接口、环境接口和服务端 API。 - [Rsbuild core](/zh/api/javascript-api/core.md): Rsbuild JavaScript API 参考,涵盖createRsbuild、loadConfig、loadEnv等核心接口和用法。 - [Rsbuild instance](/zh/api/javascript-api/instance.md): Rsbuild JavaScript API 参考,涵盖 rsbuild.context、rsbuild.build 等核心接口和用法。 - [Rsbuild types](/zh/api/javascript-api/types.md): Rsbuild JavaScript API 参考,涵盖RsbuildInstance、RsbuildConfig、NormalizedConfig等核心接口和用法。 - [Server API](/zh/api/javascript-api/server-api.md): Rsbuild JavaScript API 参考,涵盖如何使用、示例、共享 API等核心接口和用法。 - [Environment API](/zh/api/javascript-api/environment-api.md): Rsbuild JavaScript API 参考,涵盖Environment context、Environment API等核心接口和用法。 ## 博客 - [Rsbuild 博客](/zh/blog/index.md): 汇总了与 Rsbuild 相关的博客文章 - [Rsbuild 2.1 发布](/zh/blog/v2-1.md): Rsbuild 2.1 带来 Rust 版本 React Compiler、TanStack Start 支持、Tailwind CSS v4 插件,以及 CSS url、Worker 等资源导入 query 支持。 - [Rsbuild 2.0 发布](/zh/blog/v2-0.md): Rsbuild 2.0 正式发布,升级 Rspack 2.0,引入 RSC 支持和更现代的默认行为。 - [Rsbuild 1.0 发布](/zh/blog/v1-0.md): Rsbuild 1.0 正式发布,围绕更快构建、更易配置和插件生态展开,并介绍性能表现、社区采用与后续规划。 - [Rsbuild 0.7 发布](/zh/blog/v0-7.md): Rsbuild 0.7 发布,支持 Storybook、更快的 Sass 编译和 CSS Modules 类型生成。 - [Rsbuild 0.6 发布](/zh/blog/v0-6.md): Rsbuild 0.6 发布,默认启用 error overlay,支持 Vue JSX HMR,并引入全新的 transform API。 - [Rsbuild 0.5 发布](/zh/blog/v0-5.md): Rsbuild 0.5 发布,支持 Lightning CSS、自定义 Server 和更灵活的压缩配置。 - [Rsbuild 0.4 发布](/zh/blog/v0-4.md): Rsbuild 0.4 发布,提供内置模块联邦配置,并更新插件 Hook 顺序与多项默认行为。 - [Rsbuild 0.3 发布](/zh/blog/v0-3.md): Rsbuild 0.3 发布,支持模块联邦,并调整 TOML/YAML 插件、JavaScript API 与 Node 产物配置。 - [Rsbuild 0.2 发布](/zh/blog/v0-2.md): Rsbuild 0.2 发布,调整 targets、entry 等核心配置,并重构 Babel 插件选项。 - [Rsbuild 0.1 发布](/zh/blog/v0-1.md): Rsbuild 0.1 首次发布,带来基于 Rspack 的高性能构建、开箱即用配置和多框架支持。