# 提供者

确保 plugins 可通过安装进行扩展和配置额外 providers.

提供程序向插件的核心功能添加扩展,例如上传媒体文件到 AWS S3 而不是本地服务器, 或者使用 Amazon SES 发送电子邮件而不是 Sendmail。

✏️ NOTE

只有 UploadEmail 插件目前设计用于与 providers 工作。

对于相关插件,有两个由 Strapi 维护的官方提供者 — 可通过 Marketplace 或通过许多社区维护的提供者 npm (opens new window) 方式发现

# 安装提供程序

可以使用 npmyarn 使用以下格式 @strapi/provider-<plugin>-<provider> --save 来安装新的提供程序。

例如:

# 配置提供程序

新安装的提供程序在 ./config/plugins.js 文件中启用和配置。如果此文件不存在,则必须创建它。

每个提供程序将具有不同的可用配置设置。在 Marketplacenpm (opens new window) 查看该提供程序的相应条目,以了解更多信息。

以下是上传和电子邮件插件的示例配置。

# 配置每个环境

配置提供程序时,您可能希望根据 NODE_ENV 环境变量更改配置或使用特定于环境的凭据。

您可以在 ./config/env/{env}/plugins.js 配置文件中设置特定配置,它将用于覆盖默认配置。

# 创建提供程序

要实现您自己的自定义提供程序,您必须 创建一个Node.js模块 (opens new window)

必须导出的接口取决于您为其开发提供程序的插件。以下是上传和电子邮件插件的模板:

例如,您可以查看 Strapi maintained providers (opens new window) 的实现。

创建新提供程序后,您可以发布到 npm (opens new window) 与社区共享或本地使用 仅用于您的项目。

# 本地提供程序

如果要创建自己的提供程序而不将其发布到 npm 上,可以按照以下步骤操作:

  1. 在应用程序中创建 providers 文件夹。
  2. 创建你的 provider (例 ./providers/strapi-provider-<plugin>-<provider>)
  3. 然后更新你的 package.json 以将您的 strapi-provider-<plugin>-<provider> 依赖项链接到新提供商的 本地路径 (opens new window)
{
  ...
  "dependencies": {
    ...
    "strapi-provider-<plugin>-<provider>": "file:providers/strapi-provider-<plugin>-<provider>",
    ...
  }
}
  1. 更新 ./config/plugins.js 文件来 配置提供者.
  2. 最后,运行 yarn installnpm install 来安装自定义提供者。