# 提供者
确保 plugins 可通过安装进行扩展和配置额外 providers.
提供程序向插件的核心功能添加扩展,例如上传媒体文件到 AWS S3 而不是本地服务器, 或者使用 Amazon SES 发送电子邮件而不是 Sendmail。
对于相关插件,有两个由 Strapi 维护的官方提供者 — 可通过 Marketplace 或通过许多社区维护的提供者 npm (opens new window) 方式发现
# 安装提供程序
可以使用 npm
或 yarn
使用以下格式 @strapi/provider-<plugin>-<provider> --save
来安装新的提供程序。
例如:
# 配置提供程序
新安装的提供程序在 ./config/plugins.js
文件中启用和配置。如果此文件不存在,则必须创建它。
每个提供程序将具有不同的可用配置设置。在 Marketplace 或 npm (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 上,可以按照以下步骤操作:
- 在应用程序中创建
providers
文件夹。 - 创建你的 provider (例
./providers/strapi-provider-<plugin>-<provider>
) - 然后更新你的
package.json
以将您的strapi-provider-<plugin>-<provider>
依赖项链接到新提供商的 本地路径 (opens new window)。
{
...
"dependencies": {
...
"strapi-provider-<plugin>-<provider>": "file:providers/strapi-provider-<plugin>-<provider>",
...
}
}
- 更新
./config/plugins.js
文件来 配置提供者. - 最后,运行
yarn install
或npm install
来安装自定义提供者。