> For AI agents: the complete documentation index is available at /zh/llms.txt, the full documentation bundle is available at /zh/llms-full.txt.

# 介绍

Rslib 是一个基于 [Rsbuild](https://rsbuild.rs/zh/) 的库开发工具。

它帮助开发者以简单的方式创建 JavaScript 库和 UI 组件库，并为库开发中的构建、调试、文档编写和测试等环节提供工具集成与最佳实践。

## 为什么选择 Rslib

在开发组件库或工具库时，开发者不仅需要关注项目逻辑的实现，还需考虑项目的构建、调试、文档和测试等与代码逻辑无关的工作。现有许多社区工具与方案通常能较好地满足其中部分需求，但对于不熟悉这些工具与方案的开发者来说，往往需要繁琐的配置工作或多种工具配合使用，以满足这些需求。

Rslib 基于 Rspack 与 Rsbuild 实现，针对库开发场景的多样化需求，提供了一套完整的解决方案，有效解决了库开发中的工具生态不完善、模块规范兼容成本高、产物优化不足等问题。Rslib 对 webpack 对 library ESM 产物支持不足的情况进行了优化，减少了冗余的运行时代码，可以产出对库消费者友好的支持 tree-shaking 的高质量 ESM 产物。同时，Rslib 充分发挥了 Rspack 带来的构建性能优势，并利用 webpack / Rspack 生态的优势，很好地支持了模块联邦等功能。

此外，Rslib 可以利用 Rsbuild 开箱即用的配置，与应用项目实现配置共享，解决应用项目与库项目之间构建配置难以复用的问题，进而降低开发者的配置成本，提升开发效率与体验。

未来，Rslib 将基于 Rspack 的新特性，探索更多的可能性。

## 特性

Rslib 具备以下特性：

- **易于配置**：为库开发提供开箱即用的构建能力，使开发者能够在零配置的情况下开发库项目。同时，Rslib 提供一套语义化的构建配置，可随着项目需求灵活扩展。

- **性能优先**：由 [Rspack](https://rspack.rs/zh/) 驱动，集成了社区中基于 Rust 的高性能工具，包括 [SWC](https://swc.rs/) 和 [Lightning CSS](https://lightningcss.dev/)，以提供一流的构建速度和开发体验。

- **插件生态**：支持使用 [Rsbuild 插件](https://rsbuild.rs/zh/plugins/list/)、Rspack 插件和 webpack 插件，开发者可复用现有插件生态，沿用熟悉的开发经验与工程实践。

- **产物灵活**：设计时充分考虑了库发布与消费场景的多样性，支持根据不同的运行环境、分发方式和下游构建工具灵活配置产物输出，满足不同类型库的交付需求。

- **框架无关**：不与前端 UI 框架耦合，并通过插件支持 React、Vue、Svelte、Solid 等框架，让开发者能够以一致的配置和开发方式构建不同框架的组件库。

## Rstack

Rslib 是 Rstack 的一员。Rstack 是为开发者与 Agent 打造的高性能、一体化 JavaScript 工具链。

![Rstack](https://assets.rspack.rs/rstack/rstack-overview.png)
Rstack 包含以下工具：

| 名称                                                    | 描述      | 版本                                                                                                                                                                               |
| ----------------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Rspack](https://github.com/web-infra-dev/rspack)     | 打包工具    | <a href="https://npmjs.com/package/@rspack/core"><img src="https://img.shields.io/npm/v/@rspack/core?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a>     |
| [Rsbuild](https://github.com/web-infra-dev/rsbuild)   | 构建工具    | <a href="https://npmjs.com/package/@rsbuild/core"><img src="https://img.shields.io/npm/v/@rsbuild/core?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a>   |
| [Rslib](https://github.com/web-infra-dev/rslib)       | 库开发工具   | <a href="https://npmjs.com/package/@rslib/core"><img src="https://img.shields.io/npm/v/@rslib/core?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a>       |
| [Rspress](https://github.com/web-infra-dev/rspress)   | 静态站点生成器 | <a href="https://npmjs.com/package/@rspress/core"><img src="https://img.shields.io/npm/v/@rspress/core?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a>   |
| [Rsdoctor](https://github.com/web-infra-dev/rsdoctor) | 构建分析工具  | <a href="https://npmjs.com/package/@rsdoctor/core"><img src="https://img.shields.io/npm/v/@rsdoctor/core?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a> |
| [Rstest](https://github.com/web-infra-dev/rstest)     | 测试框架    | <a href="https://npmjs.com/package/@rstest/core"><img src="https://img.shields.io/npm/v/@rstest/core?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a>     |
| [Rslint](https://github.com/web-infra-dev/rslint)     | 代码检查工具  | <a href="https://npmjs.com/package/@rslint/core"><img src="https://img.shields.io/npm/v/@rslint/core?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a>     |

## 链接

- [awesome-rstack](https://github.com/rstackjs/awesome-rstack)：与 Rstack 相关的精彩内容列表。
- [agent-skills](https://github.com/rstackjs/agent-skills)：Rstack 的 Agent Skills 合集。
- [rstack-examples](https://github.com/rstackjs/rstack-examples)：Rstack 的示例项目。
- [storybook-rsbuild](https://github.com/rstackjs/storybook-rsbuild)：基于 Rsbuild 构建的 Storybook。
- [rsbuild-plugin-template](https://github.com/rstackjs/rsbuild-plugin-template)：使用此模板创建你的 Rsbuild 插件。
- [rstack-design-resources](https://github.com/rstackjs/rstack-design-resources)：Rstack 的设计资源。

## 社区

欢迎加入我们的 [Discord](https://discord.gg/XsaKEEk4mW) 交流频道！Rstack 团队和用户都在那里活跃，并且我们一直期待着各种贡献。

你也可以加入 [飞书群](https://applink.feishu.cn/client/chat/chatter/add_by_link?link_token=3c3vca77-bfc0-4ef5-b62b-9c5c9c92f1b4) 与大家一起交流。

## 在线示例

通过 [StackBlitz 示例](https://stackblitz.com/~/github.com/rstackjs/rslib-stackblitz-example) 在线体验 Rslib。

## 下一步

请阅读 [快速上手](/zh/guide/start/quick-start.md) 来开始使用 Rslib。
