要开始开发 Strapi 插件,您需要:
- 创建插件,
- 启用插件,
- 安装依赖项,构建管理面板,并启动服务器。
您创建了一个 Strapi 项目。
使用 CLI 创建项目:
在终端窗口中运行相应的命令,将 my-project
替换为您选择的名称:
yarn create strapi-app my-project --quickstart
更多详细信息可在 CLI 安装指南 中找到。
使用 CLI 生成器创建插件
创建 Strapi 插件的最快方法是使用 CLI 生成器。操作方法:
- 导航到现有 Strapi 项目的根目录,或创建一个新项目。
- 在终端窗口中运行以下命令以启动交互式 CLI:
yarn strapi generate plugin
- 选择
JavaScript
或TypeScript
作为插件语言。
Strapi 现在还提供 插件 CLI,但使用它需要您自担风险,因为它仍处于实验阶段。
启用插件
一旦 strapi generate plugin
CLI 脚本运行完毕,就会为您创建插件运行所需的最少代码,但插件尚未启用。
要启用插件:
- 如果尚不存在,请在 Strapi 项目的根目录中创建 插件配置文件 文件。
- 通过将以下代码添加到插件配置文件来启用插件:jsJavaScriptjs
如果您计划在创建插件的 Strapi 项目之外使用该插件,请将插件文件移出 Strapi 项目,并将 resolve
值更改为插件的绝对目录路径。
安装依赖项、构建管理面板并启动服务器
生成插件代码并启用插件后,接下来的步骤会略有不同,具体取决于您创建的是基于原生 JavaScript 的插件还是基于 TypeScript 的插件(请参阅 CLI 生成器说明的 步骤 3)。
基于 JavaScript 的插件
- 导航到插件的文件夹。
如果使用 CLI 生成器从 Strapi 项目创建,插件位于src/plugins
文件夹中(请参阅 项目结构)。 - 在新创建的插件目录中运行以下命令来安装插件依赖项:shyarnsh
- 使用
cd ../../..
导航回 Strapi 项目根目录并运行以下命令来构建管理面板并启动服务器:shyarnsh
TypeScript-based plugin
- Navigate to the folder of the plugin.
If created from a Strapi project using the CLI generator, plugins are located in thesrc/plugins
folder (see project structure). - Run the following command in the newly-created plugin directory to install plugin dependencies:shyarnsh
- 仍然在插件目录中(例如,
src/plugins/my-plugin
),运行以下命令:
yarn build
此步骤将转换 TypeScript 文件并将 JavaScript 文件输出到插件独有的 dist
目录。
- 使用
cd ../../..
导航回 Strapi 项目根目录并运行以下命令来构建管理面板并启动服务器:shyarnsh
您现在就可以开始开发您的插件了。
服务器和热重载
Strapi 本身是无头 HeadlessCms
。管理面板与服务器完全分开。
graph LR
A{Server} -->|Axios instance| B{Admin Panel}
B --> A
可以通过两种不同的方式启动服务器:您可以仅运行后端服务器,也可以同时启动服务器和管理面板服务器。
仅启动后端服务器
要仅启动后端服务器,请运行以下命令:
yarn develop
这将在 localhost:1337
上运行服务器,并仅在后端服务器上启用热重载,即,它只会在对服务器进行更改时自动重载。如果您只在插件的 ./server
目录中进行开发,这将更快。
启动后端和管理面板服务器
如果您在插件的 /server
和 /admin
目录上进行开发,请运行以下命令:
yarn develop --watch-admin
这将在“localhost:1337”上运行服务器,并在后端和前端服务器上启用热重新加载,即当对服务器或 Strapi 的管理面板进行更改时,它将自动重新加载。