@dani-builder/strapi-plugin-builder

中文文档
2.5.0发布于 2026/11/10MITTypeScriptESM + CJS近 30 天下载 4167

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

中文使用文档
文档目录7 节
  1. 安装
  2. 插件自有内容类型
  3. 从您的项目扩展
  4. 智能 API
  5. 许可证
  6. 构建器窗体管理器
  7. 表格提交访问

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

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

安装

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 [email protected] (原始内容存档于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数字 :

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数字 :

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 内容指南。 。 。 .

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

从您的项目扩展

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

智能 API

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

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

假设它与 @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 共发布 30 个版本,首次发布于 2026/02/11;过去 12 个月发布了 30 个版本。

版本发布日期距今
2.5.0latest2026/11/10今天
2.4.02026/11/083 天前
2.3.02026/11/056 天前
2.2.02026/11/047 天前
2.1.02026/11/029 天前
2.0.02026/11/019 天前

关于 @dani-builder/strapi-plugin-builder 的常见问题

@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 和提交记录判断。