# @dani-builder/strapi-plugin-builder 中文文档

规范地址：https://npmcn.com/package/%40dani-builder/strapi-plugin-builder/

版本：2\.5\.0
npm 元数据更新时间：2026-11-10T11:35:48.381Z
中文译文更新时间：2026-11-11T10:13:12.722Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40dani-builder/strapi-plugin-builder
原文对照：https://npmcn.com/package/%40dani-builder/strapi-plugin-builder/?lang=original
项目主页：https://github.com/HJ-company/daniworks-builder-v2/tree/main/packages/strapi-plugin-builder#readme
源码仓库：https://github.com/HJ-company/daniworks-builder-v2

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

- 包体积（解压后）：851 kB，359 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.13
- 运行依赖：1 个
- peer 依赖：react ^17\.0\.0 \|\| ^18\.0\.0，react-intl ^6\.6\.2，@strapi/icons ^2\.2\.0，@strapi/utils ^5\.49\.0，@strapi/strapi ^5\.49\.0，react-router-dom ^6\.30\.3，@strapi/design-system ^2\.2\.0，@strapi/plugin-color-picker ^5\.0\.0，@strapi/provider-upload-aws-s3 ^5\.36\.0，@d3levvv/strapi-react-icons-plugin ^1\.0\.0
- 首次发布：2026-02-11T10:18:02.435Z
- 最新版本发布：2026-11-10T11:35:48.105Z
- 近 30 天下载量：4167（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：30（近 12 个月 30 个）

## 中文简介

Daniworks 构建器 — 可重复使用的 CMS 组件, 内容类型, 以及 Strapi v5 的智能 API

## 安装

```sh
npm install @dani-builder/strapi-plugin-builder
```

也可以使用：`pnpm add @dani-builder/strapi-plugin-builder`、`yarn add @dani-builder/strapi-plugin-builder`、`bun add @dani-builder/strapi-plugin-builder`

## README

# @dani-builder/strapi-plugin-buildinger (英语)

可重复使用的 CMS 构件 **斯特拉皮 v5** - 12个内容类型,42个块/元素/共享 和“智能 API ” , 它返回完全深层的页面和全局 在一个单一的请求。 权力 [Daniworks 构建器](https://github.com/HJ-company/daniworks-builder-v2) 基于块的站点构建器.

## 安装

```bash
pnpm add @dani-builder/strapi-plugin-builder @strapi/plugin-color-picker @d3levvv/strapi-react-icons-plugin @strapi/provider-upload-aws-s3
```

需要两个自定义字段对等插件: 构建器组件使用它们 字段( r)`plugin::color-picker.color`, (中文(简体) ), `plugin::icon-picker.icon`)和斯特拉皮语 只装入您自己列出的插件 `package.json`。没有他们,应用程序失败 启动 `Could not find Custom Field: plugin::color-picker.color`。 。 。 .

构建器还需要 `react-intl` 共享主机管理员翻译的对等点 上下文。 安装您安装的相同版本 `@strapi/admin`; 用于 Strapi 5.60.0, 运行 `pnpm add react-intl@6.6.2` (原始内容存档于2018-09-21). In the CMS. 保持此依赖性 升级 Strapi 时对齐 。 单独的拷贝可以使表单失败 `Could not find required intl object` 尽管斯特拉皮提供IntlProvider.

S3 上传提供者是本地專案的可选对等端, 但是它必须 成为《养护移栖物种公约》的直接附属组织,当 `AWS_BUCKET` 启用 S3, R2 或 MiniO. 使用 `@strapi/provider-upload-aws-s3` 5.36.0版本或后来在Strapi v5. Strapi 解析从耗用应用程序上传提供者 .

使用软件包拥有的配置工厂,使软件包升级可携带存储和 媒体 CSP 修正到应用程序中。 将软件包所属条目编为 您的其余应用程序配置 。 单位 `config/plugins.ts`数字 :

```ts
import {
  builderPlugins,
  builderUpload,
} from "@dani-builder/strapi-plugin-builder/config";

export default ({ env }) => ({
  builder: builderPlugins({ env }),
  upload: {
    config: {
      // Keep application-owned security settings such as deniedTypes here.
      ...builderUpload({ env }),
    },
  },
});
```

单位 `config/middlewares.ts`数字 :

```ts
import { builderMiddlewares } from "@dani-builder/strapi-plugin-builder/config";

export default ({ env }) => [
  "strapi::logger",
  "strapi::errors",
  builderMiddlewares({ env }),
  // The remaining Strapi and application middleware entries stay here.
];
```

没有 `AWS_BUCKET`,上传使用 Strapi 本地供应商. 设定 `AWS_BUCKET` 页:1 S3; S3相容的R2和MINIO部署可额外设置 `AWS_ENDPOINT`。 。 。 . 基于端点的配置默认允许路径样式请求,并且可以 覆盖此行为 `AWS_FORCE_PATH_STYLE`。 。 。 .

设定 `AWS_ACL=none` 用于禁用ACLs的桶( 如 S3 Bucket 所有人) (已执行)。 这将ACL从上传请求中省略, 并且需要提供商 5.3. 6 ; 旧版本将省略的ACL替换为 `public-read`。 。 。 .

`builderUpload({ env })` 仅拥有提供者设置。 把它散开 应用程序的 `upload.config` 块使 Strapi 生成媒体安全 设置保持不变。 SVG 和可执行上传拒绝属于 应用程序的 `upload.config.security.deniedTypes`; 工厂没有注入 或者替换它.

## 插件自有内容类型

插件直接将全部12个内容类型注册为 `plugin::builder.*`。 。 。 . 不要把计划抄入消费者的 `src/api` 目录:将创建 冲突 `collectionName` 登记。 REST 核心终点可用 下级 `/api/builder/*`。 。 。 .

法律文件`plugin::builder.legal-document`将本地化的独立内容与 所需经费 `title`, (中文(简体) ), `slug`和块编辑器 `body`附加可选 `summary` 财务报告和审定财务报表 `effectiveDate`启用 `GET /api/builder/legal-documents?filters[slug][$eq]=privacy-policy&locale=en` 查找已发布的文档;未知的 sattle 返回空 `data` 阵列. 明确配置内容 API 令牌或角色权限; 插件没有 自动允许公众访问。 设置样本在 [CMS 内容指南](https://github.com/HJ-company/daniworks-builder-v2/blob/main/docs/guides/cms-content.md#standalone-legal-document-setup-samples)。 。 。 .

调查仍然是一个储存目标。 通过费率限制提交 `POST /api/builder/forms/:slug/submissions`;删除遗留的调查路线.

## 从您的项目扩展

将自己的块添加到 `Page.blocks` 和插件组件的额外字段 从 `src/extensions/builder/strapi-server.ts` 在您的 Strapi 项目中—— 不 需要插件叉 。 自定义块的注册居中 `strapi.plugin('builder').service('populate').registerBlock(uid, populate)`。 。 。 . 以失败案例为避免的分步指引: [文件/指南/预计建造者](https://github.com/HJ-company/daniworks-builder-v2/blob/main/docs/guides/extending-builder.md)。 。 。 . Claude 代码用户得到的程序与 `builder-extender` 技术.

## 智能 API

深度人群读取默认已发布内容; 认证的页面请求可能 明确要求草案 `status=draft`数字 :

| 方法 | 终点 | 目的 |
| --- | --- | --- |
| 获取 | `/api/builder/pages` | 列表页面( 最小分布) |
| 获取 | `/api/builder/pages/:documentId` | 单页, 深块填充 |
| 获取 | `/api/builder/global` | 全球设置, 深度居中 |

假设它与 [`@dani-builder/strapi-client`](https://www.npmjs.com/package/@dani-builder/strapi-client)。 。 。 .

## 许可证

麻省理工学院

### 构建器窗体管理器

打开 **构建器窗体** 在 Strapi 管理员菜单中列出、检查和导出已保存 形式定义。 管理员 **构建器 – 表单 – 更新** 权限可以 还创建窗体,编辑目标字段选择和顺序,标签,占位符, 帮助文本、要求/隐藏设置、引用标签和同意文本/版本. 保留 Schema 限制; 无法去除或制造计划字段 选项。 目标选择器支持符合条件的消费者 `api::*` 类型。 出世后所出渣滓不可复出. 提交材料的表格 无法删除; 显示服务器的错误并保留行 .

导出下载所保存的可移植 JSON 定义 。 导入接受 JSON 文件或 已粘贴 JSON; 使用列表创建新窗体, 或者使用细节屏幕替换 用匹配的 sattle 保存定义 。 新的进口开始于格式1版本; 替换导入和普通会节省服务器自有格式版本的增量. 单独的同意版本保留. 一般保存保留现有 通知配置; 出口证书被遮盖, 所以导入不 将通知秘密转移给另一个CMS。 通知配置和 提交管理屏幕被推迟到以后发布.

可选 `shared.tracking` 每个块都有元数据, `shared.link`,以及 `shared.action`。现有内容可能会省略;智能页面/全球和客户端 REST 分布于巢状链路/动作深度等. 渲染器 DOM 传播是 单独处理.

### 表格提交访问

格式默认为公开提交。 在表单编辑器中,有 `plugin::builder.forms.manage-submission-access` 权限只能选择服务器 访问和链接内容 API 令牌. 给予非超级管理员新的许可 管理提交访问的作用; `forms.update` 单凭一个人不能 将再次进口具有政策意义的出口。 创建、更新和导入请求 包含访问字段中的任意一种。 只显示标志性ID,名称和过期元数据. 保护 表格中,没有链接符号。 删除或重发的令牌需要 将再次链接; 重新命名一个符号保留其ID和访问权限.

公共形式的定义从来不包括访问政策或代号。 便携式出口 包括政策,但省略了特定环境的代号。 含有政策的任何导入都会清除现有的符号链接,即使政策是 不变。 受保护的表单然后将提交件块块分到符号重新链接. 没有政策的覆盖保留了现有的政策和约束力。 时 启动, 具有两个访问数据库字段的遗留表格被迁移到公众 使用空的符号列表访问。 重复启动保留了明确的政策和 形式版本。 出入权递增的变化 格式版本,不更改同意版本.

现有的内容 API 授权必须允许 `plugin::builder.submission.create`。 。 。 . 受保护的表格还需要一个有效的 API 令牌, 其内部身份标识为 其许可列表,包括全访问符. 用户 JWT 无法提交受保护文件 表单。 Strapi 拒绝使用 401 的无效、被撤销或过期的证书并否认 擅自行动403起. 没有证书, Strapi 可能在此之前返回 403 如果公众缺少此动作, 则会设置窗体查找; 否则受保护的表格会返回 401 . `HOME_PROXY_TOKEN` 仅控制信任的代理 IP 处理, 并授权不提交 进入。 Token 认证可能更新 Strapi 的 `lastUsedAt` 遥测即使在 格式访问被拒绝。 配置权限并迁移当前数据 (a) 部署.

## 常见问题

### @dani-builder/strapi-plugin-builder 是什么？

Daniworks 构建器 — 可重复使用的 CMS 组件, 内容类型, 以及 Strapi v5 的智能 API

### 如何安装 @dani-builder/strapi-plugin-builder？

在项目目录运行 npm install @dani-builder/strapi-plugin-builder，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^17\.0\.0 \|\| ^18\.0\.0）、react-intl（^6\.6\.2）、@strapi/icons（^2\.2\.0）、@strapi/strapi（^5\.49\.0）、react-router-dom（^6\.30\.3）、@strapi/design-system（^2\.2\.0）、@strapi/plugin-color-picker（^5\.0\.0）、@d3levvv/strapi-react-icons-plugin（^1\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @dani-builder/strapi-plugin-builder 支持 TypeScript 吗？

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

### @dani-builder/strapi-plugin-builder 支持 ESM 还是 CommonJS？

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

### @dani-builder/strapi-plugin-builder 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.13。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @dani-builder/strapi-plugin-builder 可以商用吗？

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

### @dani-builder/strapi-plugin-builder 的下载量有多少？

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

### @dani-builder/strapi-plugin-builder 还在维护吗？

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

