插件结构

页面摘要: 一个 Strapi 插件分为用于管理面板 UI 组件的 admin/ 文件夹和用于内容类型、控制器等后端逻辑的 server/ 文件夹,各自拥有自己的 API。

当 使用 Plugin SDK 创建插件 时,Strapi 会在 /src/plugins/my-plugin 文件夹中为你生成以下样板结构:

**提示:**此处原本是一个交互式组件(PluginStructure),在静态 Markdown 中无法渲染。可参考原始在线文档查看对应内容。

一个 Strapi 插件分为 2 个部分,每个部分位于不同的文件夹中并提供不同的 API:

Plugin partDescriptionFolderAPI
Admin panel包含将显示在 管理面板 中的内容(组件、导航、设置等)admin/Admin Panel API
Backend server包含与 后端服务器 相关的内容(内容类型、控制器、中间件等)server/Server API
关于不同部分对你特定用例的作用说明
  • 仅服务端插件:你可以创建一个仅使用服务端部分来增强应用 API 的插件。例如,该插件可以拥有自己可见或不可见的内容类型、控制器操作和适用于特定用例的路由。在这种情况下,你不需要你的插件在管理面板中有一个界面。

  • 管理面板插件 vs. 特定于应用的自定义:你可以创建一个插件以向管理面板注入一些组件。不过,你也可以通过创建 /src/admin/index.js 文件并调用 bootstrap 生命周期函数来注入你的组件来实现这一点。在这种情况下,是否创建插件取决于你是否计划重用和分发代码,还是它仅对唯一的 Strapi 应用有用。

接下来读什么?

你的 Strapi 插件开发之旅的后续步骤将需要你使用任意 Strapi 插件 API。

2 种不同类型的资源可帮助你了解如何使用插件 API:

  • Admin Panel API 和 Server API 的参考文档概述了使用 Strapi 插件可以实现的功能。
  • 指南 涵盖一些特定的、基于用例的示例。