# Rspack > Fast Rust-based bundler for the web with a modernized webpack API ## 指南 - [介绍](https://rspack.rs/zh/guide/start/introduction.md): Rspack 介绍指南,涵盖为什么要做 Rspack、当前状态及与其他构建工具的对比等核心内容,并提供实践建议。 - [快速上手](https://rspack.rs/zh/guide/start/quick-start.md): 创建 Rspack 或 Rsbuild 项目,检查环境要求,或手动安装 Rspack 并运行首次构建。 - [生态](https://rspack.rs/zh/guide/start/ecosystem.md): 了解 Rspack 生态中的 Rstack 工具链和社区集成。 - [AI](https://rspack.rs/zh/guide/start/ai.md): 通过 Rspack Agent Skills、Markdown 文档、llms.txt 和 AGENTS.md 为 AI 编程工具提供项目知识。 - [插件](https://rspack.rs/zh/guide/features/plugin.md): 使用、编写和发布 Rspack 插件,了解插件结构、TypeScript 支持和 peer dependencies 声明。 - [Loader](https://rspack.rs/zh/guide/features/loader.md): 配置 loader 来转换模块,组合多个 loader、传递选项,并使用自定义或内置 loader。 - [SWC loader](https://rspack.rs/zh/guide/features/builtin-swc-loader.md): 配置 builtin:swc-loader,实现 TypeScript 和 JSX 转译、语法降级、polyfill 注入和 SWC 插件集成。 - [Lightning CSS loader](https://rspack.rs/zh/guide/features/builtin-lightningcss-loader.md): 配置 builtin:lightningcss-loader,将 CSS 转换为目标浏览器支持的语法、添加浏览器前缀并处理解析错误。 - [开发服务器](https://rspack.rs/zh/guide/features/dev-server.md): @rspack/dev-server 为 Rspack CLI 提供本地开发服务器能力,包括 HMR 和代理等功能。 - [资源模块](https://rspack.rs/zh/guide/features/asset-module.md): Rspack 内置了对资源(如:图片、字体、视频等)的支持,这意味着你不需要任何的 Loader 来处理这些文件。 - [资源基础路径](https://rspack.rs/zh/guide/features/asset-base-path.md): Rspack 提供了 output.publicPath 选项,用于设置打包后的静态资源文件(如 JS、CSS、图片等)的 URL 路径前缀,它决定了你的应用在浏览器中如何加载这些资源。 - [模块解析](https://rspack.rs/zh/guide/features/module-resolution.md): 介绍 Rspack 的模块解析过程和基于 enhanced-resolve 的路径解析规则。 - [Web Workers](https://rspack.rs/zh/guide/features/web-workers.md): Rspack 提供了对 Web Workers 的内置支持,这意味着你不需要任何的 Loader 就可以直接使用 Web Workers。 - [ESM 产物](https://rspack.rs/zh/guide/features/esm.md): 为应用和库生成 ESM 格式产物,配置 output.module、chunk 格式及相关选项。 - [模块联邦](https://rspack.rs/zh/guide/advanced/module-federation.md): 通过 Module Federation 在应用间共享模块,并选择 Rspack 中的 v2.0、v1.5 或 v1.0 集成方案。 - [按需编译](https://rspack.rs/zh/guide/advanced/lazy-compilation.md): Lazy compilation 是一个提升开发阶段启动性能的有效手段,它采用按需编译模块的方式,而非在启动时编译全部模块。 - [Barrel 文件优化](https://rspack.rs/zh/guide/advanced/lazy-barrel.md): 了解 Rspack 如何通过跳过未使用的重导出模块构建来优化 barrel 文件。 - [模块分层](https://rspack.rs/zh/guide/advanced/layer.md): 了解如何使用模块分层组织依赖树,并按层应用处理规则、编译目标和代码分割。 - [TypeScript](https://rspack.rs/zh/guide/languages/typescript.md): 在 Rspack 中配置 TypeScript 转译、独立的类型检查、isolatedModules、TSX、路径别名和客户端类型。 - [CSS](https://rspack.rs/zh/guide/languages/css.md): 在 Rspack 中配置内置 CSS 支持或 CSS loader、CSS Modules、PostCSS、Sass、Less 和 Tailwind CSS。 - [HTML](https://rspack.rs/zh/guide/languages/html.md): 使用 Rspack 内置的 Rust 插件或兼容 html-webpack-plugin 行为的 JavaScript 插件生成 HTML。 - [JSON](https://rspack.rs/zh/guide/languages/json.md): 在 Rspack 中导入 JSON 文件,使用默认导入、适用场景下的具名导入以及 import attributes。 - [React](https://rspack.rs/zh/guide/integrations/react.md): 在 Rspack 中配置 React 的 JSX/TSX、Fast Refresh、React Compiler 和 SVG 组件。 - [React 服务器组件](https://rspack.rs/zh/guide/integrations/rsc.md): 使用 Rspack 构建 React 服务器组件,配置插件、客户端与服务端入口、模块分层和开发服务器。 - [Preact](https://rspack.rs/zh/guide/integrations/preact.md): 使用 builtin:swc-loader 配置 Preact 的 JSX/TSX 编译,并在开发时启用 Preact Refresh。 - [Vue](https://rspack.rs/zh/guide/integrations/vue.md): 使用 rspack-vue-loader 配置 Vue 2 和 Vue 3,并集成 Vue 3 JSX 与 Vue DevTools。 - [Next.js](https://rspack.rs/zh/guide/integrations/next.md): 通过实验性的 next-rspack 插件使用 Rspack 构建 Next.js 应用,并自定义打包配置。 - [Node.js 应用](https://rspack.rs/zh/guide/integrations/node.md): 使用 Rspack 构建 Node.js 应用,涵盖 runtime target、external 依赖、开发脚本和 native addon。 - [NestJS](https://rspack.rs/zh/guide/integrations/nestjs.md): 在 Rspack 中使用 NestJS,涵盖环境配置、TypeScript decorators、开发阶段 HMR 和生产压缩。 - [Solid](https://rspack.rs/zh/guide/integrations/solid.md): 使用 Rsbuild 构建 Solid 应用,或直接在 Rspack 中配置 babel-loader 和 Solid Babel preset。 - [Svelte](https://rspack.rs/zh/guide/integrations/svelte.md): 使用 Rsbuild 构建 Svelte 应用,或直接在 Rspack 中配置 svelte-loader。 - [Rstest](https://rspack.rs/zh/guide/integrations/rstest.md): 在 Rspack 项目中集成 Rstest,编写单元测试和端到端测试。 - [生产优化](https://rspack.rs/zh/guide/optimization/production.md): 通过代码分割、Tree shaking 和代码压缩优化 Rspack 生产构建。 - [代码分割](https://rspack.rs/zh/guide/optimization/code-splitting.md): Rspack 支持代码分割特性,允许让你对代码进行分割,控制生成的资源体积和资源数量来获取资源加载性能的提升。 - [Tree shaking](https://rspack.rs/zh/guide/optimization/tree-shaking.md): Rspack 支持 tree shaking 功能,这是一个在 JavaScript 生态中广泛使用的术语,主要用于去除未被访问的代码,俗称“死代码”。 - [产物分析](https://rspack.rs/zh/guide/diagnostics/analysis.md): 使用 Rsdoctor 等工具分析 Rspack 构建产物、重复依赖和模块引用关系。 - [构建性能分析](https://rspack.rs/zh/guide/diagnostics/profile.md): 分析 Rspack 构建性能、定位常见瓶颈,并调整工作线程配置。 - [内存](https://rspack.rs/zh/guide/diagnostics/memory.md): 采集 Rspack 内存数据用于问题反馈,并介绍开发者如何分析快照。 - [使用 Rsdoctor](https://rspack.rs/zh/guide/diagnostics/use-rsdoctor.md): 使用 Rsdoctor 分析 Rspack 的构建产物和构建性能。 - [从 v1 升级到 v2](https://rspack.rs/zh/guide/migration/rspack_1.x.md): 从 Rspack 1.x 升级到 2.0,处理 Node.js 要求、ESM 包、默认值调整以及配置和插件变更。 - [从 0.x 升级到 v1](https://rspack.rs/zh/guide/migration/rspack_0.x.md): 从 Rspack 0.7 升级到 1.0,处理默认值调整、配置移除,以及 SWC loader、插件和 CLI 的变更。 - [迁移 webpack](https://rspack.rs/zh/guide/migration/webpack.md): Rspack 的配置是基于 webpack 的设计实现的,以此你能够非常轻松地将项目从 webpack 迁移至 Rspack。 - [迁移 Create React App](https://rspack.rs/zh/guide/migration/cra.md): 通过 Rsbuild 及其迁移指南,将 Create React App 应用迁移到基于 Rspack 的构建工具。 - [迁移 Storybook](https://rspack.rs/zh/guide/migration/storybook.md): 通过更新依赖和构建配置,将 React 或 Vue 的 Storybook 项目从 webpack 5 迁移到 storybook-rsbuild。 - [品牌指南](https://rspack.rs/zh/misc/branding/guideline.md): Rspack 在独立使用的情况下都应该写作 Rspack,而不是 rspack 或者 RSPACK,但在命令行或者包名中可以使用小写,如 @rspack/cli。 ## 配置 - [配置 Rspack](https://rspack.rs/zh/config/index.md): Rspack 配置总览,涵盖核心选项、产物行为、构建优化、开发调试、工具链设置与常见配置入口,帮助快速定位相关信息。 - [文件名占位符](https://rspack.rs/zh/config/filename-placeholders.md): Rspack 的文件名相关配置支持占位符,这样可以在构建过程中根据不同的上下文动态生成输出的文件名,从而更好地区分资源并提升缓存效果。 - [Cache](https://rspack.rs/zh/config/cache.md): 配置 Rspack 的缓存策略,包括禁用缓存、内存缓存和持久化缓存。 - [Context](https://rspack.rs/zh/config/context.md): context 是一个绝对路径,它被用作为 Rspack 配置中相对路径的基础路径,比如 entry 和 output 等配置中包含的相对路径。 - [DevServer](https://rspack.rs/zh/config/dev-server.md): 配置 @rspack/dev-server 的本地开发和预览行为。 - [Devtool](https://rspack.rs/zh/config/devtool.md): 了解如何为开发和生产环境配置 source map,以及每个 devtool 修饰符的作用。 - [Entry](https://rspack.rs/zh/config/entry.md): Rspack Entry 配置项参考,涵盖单入口、多入口、动态入口函数以及入口描述对象的配置方式与行为。 - [Experiments](https://rspack.rs/zh/config/experiments.md): 配置 Rspack 的 WebAssembly、HTTP 导入等实验性功能,并了解其稳定性限制。 - [Extends](https://rspack.rs/zh/config/extends.md): 通过仅限 @rspack/cli 使用的 extends 选项,继承和合并其他配置文件或包中的配置。 - [Externals](https://rspack.rs/zh/config/externals.md): 外部依赖(externals)用于指定哪些模块不需要被 Rspack 打包,而是直接使用外部环境中提供的实现。 - [Incremental](https://rspack.rs/zh/config/incremental.md): 控制是否在开发期重建和 HMR 中复用未受影响的中间结果。 - [InfrastructureLogging](https://rspack.rs/zh/config/infrastructure-logging.md): 指定输出(如特定的插件或 loader)的调试信息。类似 stats.loggingDebug 选项,但适用于基础架构。 - [LazyCompilation](https://rspack.rs/zh/config/lazy-compilation.md): 懒编译(Lazy Compilation)是一种优化技术,可以延迟模块的编译,直到它们被实际请求时才进行构建。 - [Mode](https://rspack.rs/zh/config/mode.md): Rspack Mode 配置项参考,涵盖作用、可选值、默认行为、常见用法、限制条件与配置示例,帮助快速定位相关信息。 - [Module](https://rspack.rs/zh/config/module.md): 通过默认规则、自定义规则、parser 和 generator 选项以及 noParse 排除项,配置模块处理行为。 - [Module generator](https://rspack.rs/zh/config/module-generator.md): 通过 module.generator 配置资源文件名和 URL、CSS Modules 导出以及 JSON 产物生成。 - [Module parser](https://rspack.rs/zh/config/module-parser.md): 通过 module.parser 配置 JavaScript、CSS、JSON 和资源模块的解析,控制依赖收集和语法处理。 - [Module rules](https://rspack.rs/zh/config/module-rules.md): 它是一个规则数组。每条规则都会在模块被解析和创建时,与模块的信息进行匹配,例如文件路径、文件类型或查询参数。 - [Node](https://rspack.rs/zh/config/node.md): 控制 Rspack 在为非 Node 环境打包时,是否需要为 Node.js 的 global 对象提供 polyfill。 - [Optimization](https://rspack.rs/zh/config/optimization.md): 配置 Rspack 的 tree shaking、代码压缩、模块与 chunk ID、运行时代码提取和代码分割。 - [Output](https://rspack.rs/zh/config/output.md): 配置产物路径、文件名、公共 URL、模块与库的输出格式、chunk 加载方式和哈希。 - [Performance](https://rspack.rs/zh/config/performance.md): performance 用于配置 Rspack 的性能提示机制,帮助你在构建阶段识别体积过大的输出结果。 - [Plugins](https://rspack.rs/zh/config/plugins.md): 通过 plugins 配置注册内置插件或兼容的 webpack 插件,并按条件禁用插件。 - [Resolve](https://rspack.rs/zh/config/resolve.md): 配置模块解析的路径别名、扩展名、包导出条件、查找目录和 TypeScript 路径。 - [ResolveLoader](https://rspack.rs/zh/config/resolve-loader.md): 通过 resolveLoader 配置 loader 的解析,设置 loader 别名,并了解包入口的默认解析规则。 - [Stats](https://rspack.rs/zh/config/stats.md): 配置构建统计信息的预设,以及报告中包含的资源、chunk、模块、错误、警告和日志。 - [Target](https://rspack.rs/zh/config/target.md): 配置 Rspack 输出代码的运行环境与 ECMAScript 兼容范围。 - [Watch](https://rspack.rs/zh/config/watch.md): 开启监听模式,使 Rspack 在第一次构建完后不会退出,而是继续监听文件变更,并在变更时触发重新编译。 - [其他配置](https://rspack.rs/zh/config/other-options.md): Rspack 其他配置参考,涵盖 amd、bail、dependencies 与 ignoreWarnings 等补充配置项。 - [废弃选项](https://rspack.rs/zh/config/deprecated-options.md): 此选项在 Rspack 2.0 中已弃用。现在手动添加 CSS type 将模块标记为 CSS 模块。 ## 插件 - [Rspack 插件](https://rspack.rs/zh/plugins/index.md): 按功能浏览所有 Rspack 插件文档,并通过简短介绍快速找到对应的参考页面。 - [BannerPlugin](https://rspack.rs/zh/plugins/banner-plugin.md): 使用 Rspack BannerPlugin 在生成的 chunk 文件开头或结尾插入指定内容。 - [CopyRspackPlugin](https://rspack.rs/zh/plugins/copy-rspack-plugin.md): Rspack CopyRspackPlugin 插件参考,说明文件复制、目录拷贝、glob 匹配与目标路径配置方式。 - [CssExtractRspackPlugin](https://rspack.rs/zh/plugins/css-extract-rspack-plugin.md): 将 css-loader 处理的 CSS 提取为独立的 CSS 文件 - [HtmlRspackPlugin](https://rspack.rs/zh/plugins/html-rspack-plugin.md): 生成 HTML 文件,并注入入口脚本、样式和配置的其他标签 - [SubresourceIntegrityPlugin](https://rspack.rs/zh/plugins/subresource-integrity-plugin.md): rspack.SubresourceIntegrityPlugin 是一个用于在 Rspack 中启用子资源完整性的插件。 - [CompactHashedChunkIdsPlugin](https://rspack.rs/zh/plugins/compact-hashed-chunk-ids-plugin.md): CompactHashedChunkIdsPlugin 使用稳定小写字母数字 hash 的最短可用前缀生成紧凑 Chunk id,兼顾长期缓存、产物体积和运行时索引性能 - [CompactHashedModuleIdsPlugin](https://rspack.rs/zh/plugins/compact-hashed-module-ids-plugin.md): CompactHashedModuleIdsPlugin 使用稳定字母数字 hash 的最短可用前缀生成紧凑模块 id,兼顾长期缓存、产物体积和运行时索引性能 - [CssChunkingPlugin](https://rspack.rs/zh/plugins/css-chunking-plugin.md): CssChunkingPlugin 是一个专为 CSS 代码分割设计的插件,它能够确保样式的加载顺序与源代码中的导入顺序保持一致,避免因 CSS 加载顺序错误而导致的 UI 问题。 - [DeterministicModuleIdsPlugin](https://rspack.rs/zh/plugins/deterministic-module-ids-plugin.md): 为模块分配较短且在多次编译间保持稳定的数字 id - [DllPlugin](https://rspack.rs/zh/plugins/dll-plugin.md): Dll 插件用于在一个单独的 rspack 配置中生成一个 dll 库,DllReference 插件通过该插件生成的 manifest.json 能够将依赖映射到对应的位置上。 - [DllReferencePlugin](https://rspack.rs/zh/plugins/dll-reference-plugin.md): Rspack DllReferencePlugin 插件参考,说明用途、可用选项、典型场景、使用方式与常见集成方式。 - [LightningCssMinimizerRspackPlugin](https://rspack.rs/zh/plugins/lightning-css-minimizer-rspack-plugin.md): 此插件使用 lightningcss 来压缩 CSS 产物。参见 optimization.minimizer。 - [LimitChunkCountPlugin](https://rspack.rs/zh/plugins/limit-chunk-count-plugin.md): 使用 LimitChunkCountPlugin 及其 maxChunks 选项合并 chunk,限制输出的 chunk 数量。 - [RuntimeChunkPlugin](https://rspack.rs/zh/plugins/runtime-chunk-plugin.md): 创建独立的 runtime chunk,并控制其命名方式。 - [SplitChunksPlugin](https://rspack.rs/zh/plugins/split-chunks-plugin.md): 通过 optimization.splitChunks 提取共享模块、定义缓存组,并控制 chunk 大小与加载请求数量。 - [SwcJsMinimizerRspackPlugin](https://rspack.rs/zh/plugins/swc-js-minimizer-rspack-plugin.md): 当设置了 optimization.minimizer 时,默认的压缩器会被禁用,因此我们需要同时添加 LightningCssMinimizerRspackPlugin 来压缩 CSS 文件。 - [ContextReplacementPlugin](https://rspack.rs/zh/plugins/context-replacement-plugin.md): 限制或重定向动态 require 和 import() 上下文可访问的模块。 - [DefinePlugin](https://rspack.rs/zh/plugins/define-plugin.md): DefinePlugin 在编译时将代码中的变量替换为其他值或表达式。这对于允许开发构建和生产构建之间的不同行为非常有用。 - [EntryPlugin](https://rspack.rs/zh/plugins/entry-plugin.md): 在编译时添加一个入口 chunk。该 chunk 的名称为 options.name,仅包含一个模块(以及依赖项)。 - [EnvironmentPlugin](https://rspack.rs/zh/plugins/environment-plugin.md): 使用 EnvironmentPlugin 将指定的 process.env 变量注入打包代码,并为其设置可选的默认值。 - [ExternalsPlugin](https://rspack.rs/zh/plugins/externals-plugin.md): 使用 ExternalsPlugin 将指定依赖排除在 bundle 之外,并控制运行时如何访问这些依赖。 - [IgnorePlugin](https://rspack.rs/zh/plugins/ignore-plugin.md): 忽略指定的导入,使对应模块不进入构建产物。 - [JavascriptModulesPlugin](https://rspack.rs/zh/plugins/javascript-modules-plugin.md): 处理 JavaScript 的打包,一般用于获取 JavascriptModulesPlugin 的相关钩子: - [ModuleFederationPlugin](https://rspack.rs/zh/plugins/module-federation-plugin.md): ModuleFederationPlugin 用于在 Rspack 中启用模块联邦(Module Federation)能力。 - [ModuleFederationPluginV1](https://rspack.rs/zh/plugins/module-federation-plugin-v1.md): 该插件对应 Module Federation v1.0,即 webpack 中的 ModuleFederationPlugin。 - [NormalModuleReplacementPlugin](https://rspack.rs/zh/plugins/normal-module-replacement-plugin.md): NormalModuleReplacementPlugin 可以帮你把 resourceRegExp 匹配的 import/require 等模块请求(后面简称 请求 或 request)替换为 newResource。 - [ProvidePlugin](https://rspack.rs/zh/plugins/provide-plugin.md): 每当在模块中遇到 identifier 作为自由变量时,相应的模块会自动加载,且 identifier 会被填充为已加载模块的输出(或者是属性,以支持具名导出)。 - [VirtualModulesPlugin](https://rspack.rs/zh/plugins/virtual-modules-plugin.md): 使用 VirtualModulesPlugin 在内存中创建虚拟文件,并通过 writeModule 动态更新文件内容。 - [CaseSensitivePlugin](https://rspack.rs/zh/plugins/case-sensitive-plugin.md): 在不同操作系统中,文件系统对大小写的处理方式可能不同。当代码中引用仅大小写不同的模块名称时,可能会导致跨系统编译时出现意外的错误,这个插件用于预防这种情况。 - [CircularCheckRspackPlugin](https://rspack.rs/zh/plugins/circular-check-rspack-plugin.md): 报告从 Rspack 模块图中收集到的循环导入依赖 - [EvalSourceMapDevToolPlugin](https://rspack.rs/zh/plugins/eval-source-map-dev-tool-plugin.md): 这个插件可以更细致地控制源映射文件(source map)的生成。在特定的 devtool 配置选项设置下,它也会被自动启用。 - [HotModuleReplacementPlugin](https://rspack.rs/zh/plugins/hot-module-replacement-plugin.md): 通过 HotModuleReplacementPlugin 启用模块热替换(HMR),在开发时无需刷新整个页面即可更新模块。 - [NoEmitOnErrorsPlugin](https://rspack.rs/zh/plugins/no-emit-on-errors-plugin.md): 当编译中存在错误时,阻止 Rspack 输出构建产物。 - [ProgressPlugin](https://rspack.rs/zh/plugins/progress-plugin.md): Rspack ProgressPlugin 插件参考,说明用途、可用选项、典型场景、使用方式与常见集成方式。 - [SourceMapDevToolPlugin](https://rspack.rs/zh/plugins/source-map-dev-tool-plugin.md): 本插件实现了对 source map 生成内容进行更细粒度的控制。它也可以根据 devtool 配置选项的某些设置来自动启用。 - [底层插件](https://rspack.rs/zh/plugins/low-level-plugins.md): 介绍 Rspack 对外暴露、用于目标预设、运行时模板、子编译器和上层插件的底层插件。 - [社区插件兼容性](https://rspack.rs/zh/plugins/community-plugin-compatibility.md): 查看 Rspack 对常见 webpack 社区插件的兼容状态。 - [webpack 内置插件兼容性](https://rspack.rs/zh/plugins/webpack-built-in-plugin-support.md): 查看 Rspack 对 webpack 内置插件 API 和部分内部插件的兼容状态。 - [CircularDependencyRspackPlugin](https://rspack.rs/zh/plugins/circular-dependency-rspack-plugin.md): 检测运行时模块之间的循环导入依赖关系。当运行时调用的函数使用时,循环引用通常不表示存在错误,但当在初始化期间使用导入时,可能会导致错误或错误。 ## API - [Rspack APIs](https://rspack.rs/zh/api/index.md): Rspack API 总览,涵盖 CLI、JavaScript API、Loader API、Plugin API 与运行时能力等核心内容。 - [命令行工具](https://rspack.rs/zh/api/cli.md): @rspack/cli 是 Rspack 的命令行工具,它提供了多种命令来简化 Rspack 的使用。 - [模块方法](https://rspack.rs/zh/api/runtime-api/module-methods.md): 当使用 Rspack 打包应用程序时,你可以选择多种模块语法风格,包括 ES modules 和 CommonJS。 - [模块变量](https://rspack.rs/zh/api/runtime-api/module-variables.md): 本节涵盖了使用 Rspack 编译代码时所有可用的变量。模块将能够通过 module 和其他变量访问来自编译过程的特定数据。 - [模块热替换](https://rspack.rs/zh/api/runtime-api/hmr.md): 如果你通过 HotModuleReplacementPlugin 启用了模块热替换,它的接口将暴露在 module.hot 和 import.meta.webpackHot 对象下。 - [JavaScript API](https://rspack.rs/zh/api/javascript-api/index.md): Rspack JavaScript API 总览,涵盖编译器创建、监听模式、统计信息访问与编程式构建流程。 - [JavaScript API 架构](https://rspack.rs/zh/api/javascript-api/architecture.md): Rspack 通过 @rspack/core 提供兼容 webpack 的 JavaScript API,而大部分编译工作运行在 Rust 中,两层之间通过 Node-API binding 通信。 - [Compiler](https://rspack.rs/zh/api/javascript-api/compiler.md): 查阅 Compiler 和 MultiCompiler API,运行、监听和关闭构建,创建子编译器,并访问文件系统。 - [Compilation](https://rspack.rs/zh/api/javascript-api/compilation.md): 查阅 Compilation API,管理资源、模块、依赖、错误警告、运行时模块和子编译器。 - [Stats](https://rspack.rs/zh/api/javascript-api/stats.md): 使用 Stats 和 MultiStats 查看构建结果、检查错误和警告,并导出 JSON 或格式化文本。 - [Stats JSON](https://rspack.rs/zh/api/javascript-api/stats-json.md): 生成 stats JSON,并查阅 compilation、资源、chunk、模块、入口、错误警告和日志字段。 - [Logger](https://rspack.rs/zh/api/javascript-api/logger.md): 通过 Logger API 在 Rspack 插件和 loader 中输出日志,使用日志级别、分组、计时和子 logger。 - [Cache](https://rspack.rs/zh/api/javascript-api/cache.md): 通过 getCache、缓存标识、etag 和子缓存,在 JavaScript 插件中跨 compilation 复用数据。 - [SWC API](https://rspack.rs/zh/api/javascript-api/swc.md): Rspack 底层使用 SWC 来转换和压缩 JavaScript 代码,并通过 rspack.experiments.swc 实验性地开放一部分 SWC JavaScript API。 - [Resolver API](https://rspack.rs/zh/api/javascript-api/resolver.md): 通过实验性的 rspack.experiments.resolver API 和 ResolverFactory,同步或异步解析模块路径。 - [Browser API](https://rspack.rs/zh/api/javascript-api/browser.md): @rspack/browser 是专为浏览器环境打造的 Rspack 版本,无需依赖 WebContainers 或特定平台。 - [总览](https://rspack.rs/zh/api/loader-api/index.md): Rspack Loader API 总览,涵盖 Loader Context、内联语法、自定义能力与 Loader 编写方式。 - [编写 Loader](https://rspack.rs/zh/api/loader-api/writing-loaders.md): Rspack 支持多种 loader 类型,包括同步 loader、异步 loader、ESM loader、Raw loader 和 Pitching loader 等。 - [Loader 上下文](https://rspack.rs/zh/api/loader-api/context.md): Loader 上下文表示 loader 内部可用的属性,这些属性在 loader 中通过 this 属性进行访问。 - [内联 loader](https://rspack.rs/zh/api/loader-api/inline.md): 可以在 import 语句中指定 loader,或者任何同等的 "导入"方法。用 ! 将 loader 从资源中分离出来。 - [内联 matchResource](https://rspack.rs/zh/api/loader-api/inline-match-resource.md): Inline matchResource 允许你在加载资源时动态改变匹配规则。你可以通过在模块标识符前添加 !=! 前缀来为该模块标识符设置 matchResource。 - [总览](https://rspack.rs/zh/api/plugin-api/index.md): Rspack 插件 API 总览,介绍钩子分类、兼容性现状、调用时机以及面向 webpack 生态的兼容写法。 - [Compiler 钩子](https://rspack.rs/zh/api/plugin-api/compiler-hooks.md): Compiler hooks 允许 Rspack 插件在特定阶段介入构建流程。它们代表了从初始化到资源输出的各个生命周期阶段。 - [Compilation 钩子](https://rspack.rs/zh/api/plugin-api/compilation-hooks.md): Compilation 钩子是 Rspack 插件的主要扩展方式,为开发者提供了介入构建流程各阶段的能力。 - [NormalModuleFactory 钩子](https://rspack.rs/zh/api/plugin-api/normal-module-factory-hooks.md): NormalModuleFactory 被 Compiler 用来生成模块(NormalModule)。 - [ContextModuleFactory 钩子](https://rspack.rs/zh/api/plugin-api/context-module-factory-hooks.md): Compiler 使用 ContextModuleFactory 模块从 require.context API 生成依赖关系。 - [JavascriptModulesPlugin 钩子](https://rspack.rs/zh/api/plugin-api/javascript-modules-plugin-hooks.md): 使用 JavascriptModulesPlugin 的 chunkHash 钩子,自定义 JavaScript chunk 的哈希计算。 - [Stats 钩子](https://rspack.rs/zh/api/plugin-api/stats-hooks.md): 通过 StatsFactory 和 StatsPrinter 钩子,自定义统计信息的生成过程和文本输出。 - [RuntimePlugin 钩子](https://rspack.rs/zh/api/plugin-api/runtime-plugin-hooks.md): RuntimePlugin 用于生成运行时 Rspack 启动所需的代码。它提供以下生命周期钩子,可用于修改这些运行时代码。 - [ExternalModule 钩子](https://rspack.rs/zh/api/plugin-api/external-module-hooks.md): ExternalModule 钩子用于控制外部模块如何分配到 chunk。 ## 博客 - [Rspack 博客](https://rspack.rs/zh/blog/index.md): Rspack 博客归档,汇总版本发布、生态更新、团队动态与技术实践文章,便于按时间线浏览与查阅,帮助快速定位相关信息。 - [Rspack 2.2 发布公告](https://rspack.rs/zh/blog/announcing-2-2.md): Rspack 2.2 正式发布,带来性能提升与 HMR 优化、更短的模块 ID、import.meta 改进和更多平台支持。 - [Rspack 2.1 发布公告](https://rspack.rs/zh/blog/announcing-2-1.md): Rspack 2.1 正式发布,重点带来 React Compiler Rust 支持、import.meta.glob、Source Phase Imports、持久化缓存清理,以及多项性能和产物优化。 - [Rspack 2.0 正式发布](https://rspack.rs/zh/blog/announcing-2-0.md): Rspack 2.0 正式发布,在保持与 webpack 生态兼容的同时,引入了更现代的默认行为、API 设计和构建产物。 - [Rspack 1.7 发布公告](https://rspack.rs/zh/blog/announcing-1-7.md): Rspack 1.7 版本发布,提升了 SWC Wasm 插件兼容性,支持 Import Bytes 资源导入,并将多项实验特性稳定化。 - [Rspack 1.6 发布公告](https://rspack.rs/zh/blog/announcing-1-6.md): Rspack 1.6 版本发布,带来了更好的 ESM 输出、增强 tree shaking 能力、支持 defer import 语法、稳定 layers 特性,以及默认启用 barrel 文件优化。 - [Rspack 1.5 发布公告](https://rspack.rs/zh/blog/announcing-1-5.md): Rspack 1.5 版本发布,支持 Barrel 文件优化、常量内联优化,新增了内置文件系统监听器、虚拟模块插件和 Rust 扩展机制,并不再支持 Node 16。 - [Rspack 1.4 发布公告](https://rspack.rs/zh/blog/announcing-1-4.md): Rspack 1.4 版本发布,支持在浏览器中运行、默认启用增量构建,同时集成更快的 SWC、生成更小的构建产物,并引入了 `CssChunkingPlugin` 等新功能。 - [Rspack 加入 Next.js 生态](https://rspack.rs/zh/blog/rspack-next-partner.md): 今天,我们很高兴地推出 next-rspack,这是一个社区驱动的插件,让 Next.js 能够直接使用 Rspack 作为打包工具。 - [Rspack 1.3 发布公告](https://rspack.rs/zh/blog/announcing-1-3.md): Rspack 1.3 版本发布,支持检测循环引用、构建 HTTP 模块和引用 AMD 模块,引入全新的 lazy compilation 中间件,以及优化了代码分割性能、产物体积和内存占用。 - [Rspack 1.2 发布公告](https://rspack.rs/zh/blog/announcing-1-2.md): Rspack 1.2 版本发布,引入实验性的持久化缓存、更快的代码分割算法以及 Yarn PnP 支持等功能。 - [Rspack 1.1 发布公告](https://rspack.rs/zh/blog/announcing-1-1.md): Rspack 和 Rsbuild 1.1 版本发布,显著提升了冷启动和增量构建的性能,同时改进了内置的 HTML 插件和配置选项的类型提示。 - [Rspack 1.0 发布公告](https://rspack.rs/zh/blog/announcing-1-0.md): 今天,Rspack 终于到达了一个崭新的阶段 —— 1.0。这意味着 Rspack 已经达到生产稳定,覆盖了 webpack 绝大多数的 API 和功能,并已经做好支持更多用户的准备。 - [Rspack 1.0 alpha 发布公告](https://rspack.rs/zh/blog/announcing-1-0-alpha.md): Rspack 1.0 alpha 现已发布至 npm!在发布 Rspack 1.0 稳定版之前,我们将进行 1~2 个月的测试,以改进 1.0 版本的 API 稳定性和可靠性,并验证对下游项目的影响。 - [Rspack 0.7 发布公告](https://rspack.rs/zh/blog/announcing-0-7.md): Rspack 0.7 版本发布,支持 lazy compilation,能够显著提升大型应用的 dev startup 性能。同时引入了全新的 css-module-lexer,使 CSS 打包速度提升 4 倍。 - [Rspack 0.6 发布公告](https://rspack.rs/zh/blog/announcing-0-6.md): Rspack 0.6 版本发布,内置支持 mini-css-extract-plugin,默认开启新版 tree shaking。 - [Rspack 0.5 发布公告](https://rspack.rs/zh/blog/announcing-0-5.md): Rspack 0.5 版本发布,支持模块联邦,移除默认的 SWC 转换。 - [Rspack 支持模块联邦](https://rspack.rs/zh/blog/module-federation-added-to-rspack.md): 最新的 Rspack 0.5.0 引入了备受期待的模块联邦功能,本文对其进行了详细介绍。 - [Rspack 0.4 发布公告](https://rspack.rs/zh/blog/announcing-0-4.md): Rspack 0.4 版本发布,移除对一些内置功能的支持。 - [Rspack 0.3 发布公告](https://rspack.rs/zh/blog/announcing-0-3.md): Rspack 0.3 版本发布,新增 web workers、builtin:swc-loader 支持。 - [Rspack 0.2 发布公告](https://rspack.rs/zh/blog/announcing-0-2.md): Rspack 0.2 版本发布,新增了诸多功能,如 realContentHash、DataURI、ESM format 的支持等。 - [Rspack 正式发布了](https://rspack.rs/zh/blog/announcing-0-1.md): Rspack 正式发布了! ## Others - [Builtin 插件](https://rspack.rs/zh/contribute/architecture/builtin-plugin.md): 使用 rspack_macros 实现 Rust 内置插件,并通过 plugin 和 plugin_hook 宏注册钩子处理函数。 - [Rspack loader](https://rspack.rs/zh/contribute/architecture/rspack-loader.md): 了解 Rspack loader 在 Rust 与 JavaScript 间的执行方式,包括 pitching、选项传递和执行优化。 - [Building](https://rspack.rs/zh/contribute/development/building.md): 安装仓库依赖,从源码构建 Rspack 的 Rust crate、Node.js 包和 WebAssembly 产物。 - [Debugging](https://rspack.rs/zh/contribute/development/debugging.md): 通过 VS Code、@rspack-debug/core 和 rust-lldb 调试 Rspack 内部实现,排查崩溃与构建卡死。 - [准备工作](https://rspack.rs/zh/contribute/development/prerequisites.md): Rspack 贡献指南中的准备工作章节,涵盖安装 Rust和安装 Node.js等核心内容,并说明本地准备要求。 - [Profiling](https://rspack.rs/zh/contribute/development/profiling.md): 性能分析应基于包含调试信息的发布版本进行。这种方法既能确保性能结果的准确性,又能提供充足的调试信息用于分析。 - [项目结构](https://rspack.rs/zh/contribute/development/project.md): 了解 Rspack monorepo 的目录结构,查找 Rust crate、JavaScript 包、测试套件和基准测试。 - [Releasing](https://rspack.rs/zh/contribute/development/releasing.md): 你可以在 @rspack/core 和 @rspack/cli 的 npm 版本页面查看所有已发布的版本。 - [Testing](https://rspack.rs/zh/contribute/development/testing.md): 由于 Rspack 使用 Rust + TypeScript 代码混合编写,因此会针对两者使用不同的测试方案。 - [Tracing](https://rspack.rs/zh/contribute/development/tracing.md): 介绍 Rspack 中 Tracing 的使用方式 - [贡献指南](https://rspack.rs/zh/contribute/index.md): Rspack 贡献文档总览,涵盖项目架构、开发流程、测试、调试、发布步骤与协作规范,帮助快速定位相关信息。 - [SWC 插件版本不匹配](https://rspack.rs/zh/errors/swc-plugin-version.md): SWC 的插件仍然是一个实验性功能,目前 SWC 的 Wasm 插件是不向后兼容的,SWC 插件的版本与 Rspack 依赖的 swccore 版本存在强耦合关系。 - [版权声明](https://rspack.rs/zh/misc/branding/license.md): 除非另有说明,本站文档内容源自 Rspack website 贡献者,遵循 CC BY 4.0 许可协议。 - [常见问题](https://rspack.rs/zh/misc/faq.md): 我们和 webpack 团队确立了合作关系,Rspack 是 webpack 通过 Rust 进行性能优化的一个尝试,并已经取得了良好进展。 - [术语表](https://rspack.rs/zh/misc/glossary.md): 收录 Rspack 的常用术语及定义。 - [功能演进与废弃](https://rspack.rs/zh/misc/planning/future.md): Rspack 的版本管理与兼容性策略,包括破坏性变更,以及功能废弃和移除的各个阶段。 - [路线图](https://rspack.rs/zh/misc/planning/roadmap.md): 我们正在开发 Rspack 2.0 与 Rsbuild 2.0,这一版本的重点在于改进 API 和内部架构、提升性能,进一步拥抱现代 Web 标准,并提供更优秀的开发体验。 - [核心团队](https://rspack.rs/zh/misc/team/core-team.md): 了解 Rstack 核心团队,以及共同推动 Rspack 和相关工具发展的项目与社区贡献者。 - [荣誉成员](https://rspack.rs/zh/misc/team/emeriti.md): Rspack 荣誉成员 概览,涵盖成员等核心内容,并提供补充背景信息,帮助快速定位相关信息适合作为查阅入口。 - [加入我们](https://rspack.rs/zh/misc/team/join-us.md): 我们是字节跳动 Web Infra 团队,服务于整个公司的 Web 生态,我们的愿景是 打造世界一流的 Web 生态技术体系,为字节产品提供极致的用户体验和开发体验。