插件 Plugins configuration

Strapi 插件有一个单一的入口点文件来定义它们的配置。

插件配置存储在 /config/plugins.js|ts 中(参见 项目结构)。每个插件都可以使用以下可用参数进行配置:

参数描述类型
enabled启用(true)或禁用(false)已安装的插件布尔值
config

可选
用于覆盖默认插件配置 在 strapi-server.js 中定义对象
resolve
可选,仅本地插件需要
插件文件夹的路径字符串

Strapi 的一些功能由插件提供,以下插件也可以具有特定的配置选项:GraphQLUpload

插件的基本示例自定义配置:

js
./config/plugins.js
js
module.exports = ({ env }) => ({
  // 启用不需要任何配置的插件
  'i18n': true,

  // 启用自定义插件
  'myplugin': {
    // my-plugin 将成为此插件使用的内部名称
    enabled: true,
    resolve: './src/plugins/my-local-plugin',
    config: {
      // 用户插件配置在此处
    },
  },

  // 禁用插件
  'my-other-plugin': {
    enabled: false, // 插件已安装但已禁用
  },
})

如果不需要特殊配置,也可以用简写语法“plugin-name”: true 来声明插件。

GraphQL 配置

GraphQL 插件 具有以下特定配置选项,这些选项应在 config/plugins 文件中的 graphql.config 对象中声明。所有参数都是可选的:

参数描述类型默认
apolloServerApolloServer 的附加配置。对象{}
artifacts包含文件路径的对象,定义存储生成的工件的位置。可以包含以下属性:
  • schema:生成的 GraphQL 架构文件的路径
  • typegen:生成的 TypeScript 类型的路径
仅当 generateArtifacts 设置为 true 时才有效。
对象
  • schema: false
  • typegen: false
defaultLimitAPI 调用中使用的 pagination[limit] 参数 的默认值整数100
depthLimit限制 GraphQL 查询的复杂性整数10
endpoint插件公开的 URL 路径字符串/graphql
generateArtifactsStrapi 是否应自动生成并输出 GraphQL 模式文件和相应的 TypeScript 定义。

可以通过 artifacts 配置文件系统位置。
布尔值false
maxLimitAPI 调用中使用的 pagination[limit] 参数 的最大值整数-1
playgroundAlways是否应公开展示游乐场。

如果 NODE_ENV 设置为 development,则默认启用。
布尔值false
shadowCRUD是否应自动创建基于模型的查询、突变和解析器的类型定义(参见 Shadow CRUD 文档)。布尔值true

自定义配置示例

js
./config/plugins.js
js
module.exports = () => ({
  graphql: {
    enabled: true,
    config: {
      playgroundAlways: false,
      defaultLimit: 10,
      maxLimit: 20,
      apolloServer: {
        tracing: true,
      },
    }
  }
})

上传配置

上传插件 处理 媒体库。使用默认上传提供程序时,可以在 config/plugins 文件中的 upload.config 对象中声明以下特定配置选项。所有参数都是可选的:

参数描述类型默认
providerOptions.localServer将传递给 koa-static 的选项,在此基础上构建上传服务器。

(有关更多详细信息,请参阅上传文档中的 本地服务器配置
对象-
sizeLimit最大文件大小(以字节为单位)。

(有关更多信息,请参阅上传插件文档中的 最大文件大小配置
整数209715200

(200 MB 以字节为单位,即 200 x 1024 x 1024 字节)
breakpoints当“响应式友好上传”选项设置为 true 时,允许覆盖生成响应式图像的断点大小。

(有关更多信息,请参阅上传插件文档中的 响应式图像配置
对象{ large: 1000, medium: 750, small: 500 }
  • 一些配置选项也可以直接从管理面板设置(请参阅 用户指南)。
  • 上传请求超时在服务器选项中定义,而不是在上传插件选项中定义,因为它不是特定于上传插件的,而是应用于整个 Strapi 服务器实例。有关更多详细信息,请参阅上传文档中的 上传请求超时配置
  • 使用其他上传提供商时,可能会有其他配置选项可用。对于由 Strapi 维护的上传提供商,请参阅 Amazon S3 提供商Cloudinary 提供商 文档,了解有关可用选项的更多信息。

自定义配置示例:

以下是使用默认上传提供程序时上传插件的自定义配置示例:

js
/config/plugins.js
js
module.exports = ({ env }) => ({
  upload: {
    config: {
      providerOptions: {
        localServer: {
          maxage: 300000
        },
      },
      sizeLimit: 250 * 1024 * 1024, // 256mb in bytes
      breakpoints: {
        xlarge: 1920,
        large: 1000,
        medium: 750,
        small: 500,
        xsmall: 64
      },
    },
  },
})