用CLI构建和发布

了解如何使用插件 CLI 构建和发布 Strapi 插件

插件 CLI 目前处于实验阶段。

插件 CLI 是一组以开发插件为导向的命令,用于将其用作本地插件或将其发布在 NPM 上和/或将其提交到 Marketplace。

strapi generate plugin 命令(请参阅 插件创建和设置)相反,您无需设置 Strapi 项目即可使用插件 CLI。

本指南涵盖从头开始创建插件、将其链接到现有 Strapi 项目以及发布插件。如果您已经有现有插件,则可以改造插件设置以使用插件 CLI 命令(请参阅 插件 CLI 参考 以获取可用命令的完整列表)。

开始使用插件 CLI

本指南假设您想要开发 Strapi 项目外部的插件。但是,如果您想在现有项目中开发插件,步骤大致相同。如果您没有 使用 monorepo,步骤完全相同。

创建插件

要创建插件,请确保您位于要创建插件的父目录中,然后运行以下命令:

codes

yarn
bash
yarn dlx @strapi/strapi plugin:init my-strapi-plugin
npm
bash
npx @strapi/strapi plugin:init my-strapi-plugin

::

路径“my-strapi-plugin”可以替换为您想要的任何插件名称,包括创建插件的路径(例如,“code/strapi-plugins/my-new-strapi-plugin”)。

您将看到一系列提示,以帮助您设置插件。如果您对所有选项都选择“是”,则最终结构将类似于默认的插件结构

将插件链接到您的项目

创建插件后,您需要将其注册到yalc存储库(它位于您的计算机本地)。为此,请运行以下命令:

bash
Yarn
bash
cd my-strapi-plugin
yarn install
yarn link-watch

然后,这将产生一个输出,解释如何将插件链接到 Strapi 项目。打开一个新的终端窗口执行以下步骤:

bash
yarn
bash
cd /path/to/strapi/project
yarn dlx yalc add --link my-strapi-plugin && yarn install

在上面的例子中,我们在将插件链接到项目时使用了插件的名称。这是包的名称,而不是文件夹的名称。

因为这个插件是通过node_modules安装的,所以你不需要明确地将它添加到你的plugins配置文件,所以运行develop 命令将自动获取你的插件。但是,为了改善你的体验,我们建议你使用--watch-admin标志运行Strapi,这样当你对插件进行更改时,你的管理面板就会自动重建:

bash
yarn
bash
yarn develop --watch-admin

现在,您可以按照自己认为合适的方式开发插件了!如果您要更改服务器,则需要重新启动服务器才能使更改生效。

构建插件以供发布

当您准备好发布插件时,您需要构建它。为此,请运行以下命令:

bash
yarn
bash
yarn build && yarn verify

上述命令不仅会构建插件,还会验证输出是否有效并准备好发布。然后,您可以像发布其他任何包一样将插件发布到 NPM。

在 monorepo 环境中使用插件 CLI

如果您使用 monorepo 环境来开发插件,则无需使用 link-watch 命令,因为 monorepo 工作区设置将处理符号链接。您可以改用 watch 命令。

但是,如果您正在编写管理代码,则可以添加一个针对插件源代码的“别名”,以便在管理面板的上下文中更容易使用:

ts
import path from 'node:path'

export default (config, webpack) => {
  config.resolve.alias = {
    ...config.resolve.alias,
    'my-strapi-plugin': path.resolve(
      __dirname,
      // We've assumed the plugin is local.
      '../plugins/my-strapi-plugin/admin/src'
    ),
  }

  return config
}

由于服务器查看 strapi-server.js 文件来导入您的插件代码,因此您必须使用 watch 命令,否则代码将不会被转译,服务器将无法找到您的插件。