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

# 总览

`lib` 是一个可选的对象数组，用于描述 Rslib 生成的库产物。每个 `lib` 项对应一份产物，可以包含 lib 配置和 [Rsbuild 配置](/zh/config/rsbuild.md)，详情请参考[配置 Rslib](/zh/guide/basic/configure-rslib.md#配置结构)。

- **类型:** `LibConfig[]`（见 [`RslibConfig`](/zh/api/javascript-api/types.md#rslibconfig)）
- **默认值:** `[{}]`
- **必选:** `false`

省略 `lib` 字段时，Rslib 会使用等价于 `lib: [{}]` 的默认配置生成一份产物。产物格式由顶层 `format` 指定，若未配置，则默认为 `'esm'`。

显式配置 `lib` 字段时，其值必须为非空数组。

例如，以下配置会生成 ESM 和 CJS 两份产物：

```js title="rslib.config.mjs"
export default {
  lib: [
    {
      format: 'esm',
    },
    {
      format: 'cjs',
    },
  ],
};
```

## 顶层 lib 配置

以下 lib 配置可以写在 `lib` 字段外作为顶层配置，在各个 `lib` 产物之间共享；也可以写在 `lib` 项中，用于单独配置对应产物：

- [`autoExtension`](/zh/config/lib/auto-extension.md)
- [`banner`](/zh/config/lib/banner.md)
- [`bundle`](/zh/config/lib/bundle.md)
- [`dts`](/zh/config/lib/dts.md)
- [`externalHelpers`](/zh/config/lib/external-helpers.md)
- [`footer`](/zh/config/lib/footer.md)
- [`format`](/zh/config/lib/format.md)
- [`outBase`](/zh/config/lib/out-base.md)
- [`redirect`](/zh/config/lib/redirect.md)
- [`shims`](/zh/config/lib/shims.md)
- [`syntax`](/zh/config/lib/syntax.md)
- [`wasm`](/zh/config/lib/wasm.md)

## 非顶层 lib 配置

以下 lib 配置不支持顶层配置，只能写在 `lib` 项中，用于单独配置对应产物：

- [`experiments`](/zh/config/lib/experiments.md)
- [`id`](/zh/config/lib/id.md)
- [`umdName`](/zh/config/lib/umd-name.md)
