插件创建和设置 Plugin creation & setup

Learn how to create a Strapi plugin and how to start the development servers

要开始开发 Strapi 插件,您需要:

  1. 创建插件,
  2. 启用插件,
  3. 安装依赖项,构建管理面板,并启动服务器。

您创建了一个 Strapi 项目。

使用 CLI 创建项目:

在终端窗口中运行相应的命令,将 my-project 替换为您选择的名称:

bash
yarn
bash
yarn create strapi-app my-project --quickstart

更多详细信息可在 CLI 安装指南 中找到。

使用 CLI 生成器创建插件

创建 Strapi 插件的最快方法是使用 CLI 生成器。操作方法:

  1. 导航到现有 Strapi 项目的根目录,或创建一个新项目。
  2. 在终端窗口中运行以下命令以启动交互式 CLI:
sh
yarn
sh
yarn strapi generate plugin
  1. 选择 JavaScriptTypeScript 作为插件语言。
实验性插件 CLI

Strapi 现在还提供 插件 CLI,但使用它需要您自担风险,因为它仍处于实验阶段。

启用插件

一旦 strapi generate plugin CLI 脚本运行完毕,就会为您创建插件运行所需的最少代码,但插件尚未启用。

要启用插件:

  1. 如果尚不存在,请在 Strapi 项目的根目录中创建 插件配置文件 文件。
  2. 通过将以下代码添加到插件配置文件来启用插件:
    js
    JavaScript
    js

如果您计划在创建插件的 Strapi 项目之外使用该插件,请将插件文件移出 Strapi 项目,并将 resolve 值更改为插件的绝对目录路径。

安装依赖项、构建管理面板并启动服务器

生成插件代码并启用插件后,接下来的步骤会略有不同,具体取决于您创建的是基于原生 JavaScript 的插件还是基于 TypeScript 的插件(请参阅 CLI 生成器说明的 步骤 3)。

基于 JavaScript 的插件

  1. 导航到插件的文件夹。
    如果使用 CLI 生成器从 Strapi 项目创建,插件位于 src/plugins 文件夹中(请参阅 项目结构)。
  2. 在新创建的插件目录中运行以下命令来安装插件依赖项:
    sh
    yarn
    sh
  3. 使用cd ../../..导航回 Strapi 项目根目录并运行以下命令来构建管理面板并启动服务器:
    sh
    yarn
    sh

TypeScript-based plugin

  1. Navigate to the folder of the plugin.
    If created from a Strapi project using the CLI generator, plugins are located in the src/plugins folder (see project structure).
  2. Run the following command in the newly-created plugin directory to install plugin dependencies:
    sh
    yarn
    sh
  3. 仍然在插件目录中(例如,src/plugins/my-plugin),运行以下命令:
sh
yarn
sh
yarn build

此步骤将转换 TypeScript 文件并将 JavaScript 文件输出到插件独有的 dist 目录。

  1. 使用 cd ../../.. 导航回 Strapi 项目根目录并运行以下命令来构建管理面板并启动服务器:
    sh
    yarn
    sh

您现在就可以开始开发您的插件了。

接下来做什么?

您可以跳转到插件结构文档或阅读服务器和热重载部分以了解有关启动服务器的不同方法的更多信息。

服务器和热重载

Strapi 本身是无头 HeadlessCms。管理面板与服务器完全分开。

mermaid
graph LR
    A{Server} -->|Axios instance| B{Admin Panel}
    B --> A

可以通过两种不同的方式启动服务器:您可以仅运行后端服务器,也可以同时启动服务器和管理面板服务器。

仅启动后端服务器

要仅启动后端服务器,请运行以下命令:

sh
yarn
sh
yarn develop

这将在 localhost:1337 上运行服务器,并仅在后端服务器上启用热重载,即,它只会在对服务器进行更改时自动重载。如果您只在插件的 ./server 目录中进行开发,这将更快。

启动后端和管理面板服务器

如果您在插件的 /server/admin 目录上进行开发,请运行以下命令:

sh
yarn
sh
yarn develop --watch-admin

这将在“localhost:1337”上运行服务器,并在后端和前端服务器上启用热重新加载,即当对服务器或 Strapi 的管理面板进行更改时,它将自动重新加载。