# @fluentui/react-docsite-components 中文文档

规范地址：https://npmcn.com/package/%40fluentui/react-docsite-components/

版本：8\.16\.10
npm 元数据更新时间：2026-10-29T01:07:12.092Z
中文译文更新时间：2026-11-15T02:36:54.261Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fluentui/react-docsite-components
原文对照：https://npmcn.com/package/%40fluentui/react-docsite-components/?lang=original
项目主页：https://github.com/microsoft/fluentui#readme
源码仓库：https://github.com/microsoft/fluentui

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：4.1 MB，1613 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：14 个
- peer 依赖：react \>=16\.8\.0 \<20\.0\.0，react-dom \>=16\.8\.0 \<20\.0\.0，@types/react \>=16\.8\.0 \<20\.0\.0，@types/react-dom \>=16\.8\.0 \<20\.0\.0
- 首次发布：2020-10-23T03:25:45.393Z
- 最新版本发布：2026-10-29T01:07:11.862Z
- 近 30 天下载量：3325（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：731（近 12 个月 12 个）

## 中文简介

流利的UI React 组件用于建筑文档站点.

## 安装

```sh
npm install @fluentui/react-docsite-components
```

也可以使用：`pnpm add @fluentui/react-docsite-components`、`yarn add @fluentui/react-docsite-components`、`bun add @fluentui/react-docsite-components`

## README

# @fluentui/ react-docsite-组件

用于建立内部文件网站和内部环路的组件和公用事业 [流利的 UI 反应](https://developer.microsoft.com/en-us/fluentui) (单位:千美元)[之前的办公室 UI 纤维反应](https://developer.microsoft.com/en-us/office/blogs/ui-fabric-is-evolving-into-fluent-ui/)) 包裹.

**这个包裹处于维护状态,而我们则在进行替换.** 它只应在新项目中使用,前提是您必须拥有一个已公布的文档站点,该站点看起来像正式的Fluent UI React docs. 如果你需要的只是组件开发的内环, **请使用 [故事书](https://storybook.js.org/) 换句话说.** 故事书是一个得到良好支持的,记录齐全的平台,用于组件开发和文献.

## 实时编辑器支持

在演示应用程序中为非软件包设置活代码编辑器 `@fluentui/react` 软件包本身 :

1.  后续设置步骤 [`@fluentui/monaco-editor` 读取我](https://github.com/microsoft/fluentui/blob/master/packages/monaco-editor/README.md) (提到的帮助者也从下列地点再出口: `@fluentui/react-monaco-editor` 为方便起见.
    
2.  设置一个 `.d.ts` 使用 API 提取器滚动您的软件包文件 .
    
3.  添加对 `raw-loader` 到包含您演示应用程序的软件包.
    
4.  定义所支持软件包的自定义列表。 为了示范目的,我们假设:
    
    -   您正在构建默认的一组支持软件包
    -   你降级的包裹是 `my-package`
    -   `my-package` 再导出另一个名为 `my-package-utilities` (不需要您的软件包导出其它任何内容, 但包含此内容以显示设置)
    -   每个包裹 `.d.ts` 滚滚活在 `<package-folder>/dist/<unscoped-package-name>.d.ts`

```ts
import { IPackageGroup } from '@fluentui/react-monaco-editor';
import { defaultSupportedPackages } from '@fluentui/react-monaco-editor/lib/utilities/defaultSupportedPackages';

export const editorSupportedPackages: IPackageGroup[] = [
  ...defaultSupportedPackages,
  {
    // Package's exports will be made available under this global name at runtime
    globalName: 'MyPackage',
    // Loader for the package's contents
    loadGlobal: () => import('my-package'),
    // Alternatively, for non-delayed loading:
    //   loadGlobal: () => require('my-package'),
    // Or at the top of the file, `import * as MyPackage from 'my-package'`, then:
    //   loadGlobal: () => Promise.resolve(MyPackage)
    packages: [
      {
        packageName: 'my-package',
        loadTypes: () => {
          // Use import() so the types can potentially be split into a separate chunk and delay loaded.
          // If you don't care about that, you could use require() instead.
          // @ts-ignore: import is handled by webpack
          return import('!raw-loader!my-package/dist/my-package.d.ts');
        },
      },
      {
        // my-package re-exports my-package-utilities from its root, so it goes under the same global
        packageName: 'my-package-utilities',
        loadTypes: () => {
          // @ts-ignore: import is handled by webpack
          return import('!raw-loader!my-package-utilities/dist/my-package-utilities.d.ts');
        },
      },
    ],
  },
];
```

5.  适用于单一 `ExampleCard`数字 :

```tsx
import { editorSupportedPackages } from '<file path>';
import { MyExample } from './MyExample.Example';
const MyExampleCode = require('!raw-loader!./MyExample.Example.tsx');

<ExampleCard title="My example" code={MyExampleCode} editorSupportedPackages={editorSupportedPackages}>
  <MyExample />
</ExampleCard>;
```

6.  适用于所有人 `ExampleCard` 应用程序中的实例 :

```ts
import { editorSupportedPackages } from '<file path>';
import { IExampleCardProps, IAppDefinition } from '@fluentui/react-docsite-components';

const exampleCardProps: IExampleCardProps = { editorSupportedPackages };

// same applies with ISiteDefinition
const appDefinition: IAppDefinition = {
  // ...
  theme: {
    components: {
      ExampleCard: {
        styles: exampleCardProps,
      },
    },
  },
};
```

## 常见问题

### @fluentui/react-docsite-components 是什么？

流利的UI React 组件用于建筑文档站点\.

### 如何安装 @fluentui/react-docsite-components？

在项目目录运行 npm install @fluentui/react-docsite-components，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=16\.8\.0 \<20\.0\.0）、react-dom（\>=16\.8\.0 \<20\.0\.0）、@types/react（\>=16\.8\.0 \<20\.0\.0）、@types/react-dom（\>=16\.8\.0 \<20\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @fluentui/react-docsite-components 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fluentui/react-docsite-components 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @fluentui/react-docsite-components 可以商用吗？

@fluentui/react-docsite-components 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fluentui/react-docsite-components 的下载量有多少？

根据 npm 官方下载统计，@fluentui/react-docsite-components 在 2026/10/15 – 2026/11/13 这 30 天内被下载 3,325 次，日均约 111 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fluentui/react-docsite-components 还在维护吗？

最新版本 8\.16\.10 发布于 2026/10/29（17 天前）；至今共发布 731 个版本，其中过去 12 个月发布了 12 个；首次发布于 2020/10/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

