插件配置
¥Plugins configuration
插件配置存储在 /config/plugins.js|ts
中(参见 项目结构)。每个插件都可以配置以下可用参数:
¥Plugin configurations are stored in /config/plugins.js|ts
(see project structure). Each plugin can be configured with the following available parameters:
范围 | 描述 | 类型 |
---|---|---|
enabled | 启用 (true ) 或禁用 (false ) 已安装的插件 | 布尔值 |
config 可选 | 用于覆盖默认插件配置(在 Strapi-server.js 中定义) | 目的 |
resolve 可选,仅本地插件需要 | 插件文件夹的路径 | 字符串 |
Strapi 的一些功能由插件提供,以下插件也可以具有特定的配置选项:GraphQL 和 上传。
¥Some features of Strapi are provided by plugins and the following plugins can also have specific configuration options: GraphQL and Upload.
插件的基本示例自定义配置:
¥Basic example custom configuration for plugins:
- JavaScript
- TypeScript
module.exports = ({ env }) => ({
// enable a plugin that doesn't require any configuration
i18n: true,
// enable a custom plugin
myplugin: {
// my-plugin is going to be the internal name used for this plugin
enabled: true,
resolve: './src/plugins/my-local-plugin',
config: {
// user plugin config goes here
},
},
// disable a plugin
'my-other-plugin': {
enabled: false, // plugin installed but disabled
},
});
export default ({ env }) => ({
// enable a plugin that doesn't require any configuration
i18n: true,
// enable a custom plugin
myplugin: {
// my-plugin is going to be the internal name used for this plugin
enabled: true,
resolve: './src/plugins/my-local-plugin',
config: {
// user plugin config goes here
},
},
// disable a plugin
'my-other-plugin': {
enabled: false, // plugin installed but disabled
},
});
如果不需要具体配置,也可以使用简写语法 'plugin-name': true
来声明插件。
¥If no specific configuration is required, a plugin can also be declared with the shorthand syntax 'plugin-name': true
.
GraphQL 配置
¥GraphQL configuration
GraphQL 插件 具有以下特定配置选项,应在 config/plugins
文件内的 graphql.config
对象中声明这些选项。所有参数都是可选的:
¥The GraphQL plugin has the following specific configuration options that should be declared in a graphql.config
object within the config/plugins
file. All parameters are optional:
范围 | 描述 | 类型 | 默认 |
---|---|---|---|
apolloServer | ApolloServer 的附加配置。 | 目的 | {} |
artifacts | 包含文件路径的对象,定义存储生成的工件的位置。可以包含以下属性:
generateArtifacts 设置为 true 时有效。 | 目的 | |
defaultLimit | API 调用中使用的 pagination[limit] 参数 的默认值 | 整数 | 100 |
depthLimit | 限制 GraphQL 查询的复杂性。 | 整数 | 10 |
endpoint | 暴露插件的 URL 路径 | 字符串 | /graphql |
generateArtifacts | Strapi 是否自动生成并输出 GraphQL schema 文件以及相应的 TypeScript 定义。 文件系统位置可以通过 artifacts 配置。 | 布尔值 | false |
maxLimit | API 调用中使用的 pagination[limit] 参数 的最大值 | 整数 | -1 |
playgroundAlways | 在线运行是否应公开暴露。 如果 NODE_ENV 设置为 development ,则默认启用。 | 布尔值 | false |
shadowCRUD | 是否应自动创建基于模型的查询、突变和解析器的类型定义(参见 影子 CRUD 文档)。 | 布尔值 | true |
v4CompatibilityMode | 启用与 Strapi v4 格式的追溯兼容性(有关详细信息,请参阅 重大变更条目 | 布尔值 | false |
自定义配置示例:
¥Example custom configuration:
- JavaScript
- TypeScript
module.exports = () => ({
graphql: {
enabled: true,
config: {
playgroundAlways: false,
defaultLimit: 10,
maxLimit: 20,
apolloServer: {
tracing: true,
},
}
}
})
export default () => ({
graphql: {
enabled: true,
config: {
playgroundAlways: false,
defaultLimit: 10,
maxLimit: 20,
apolloServer: {
tracing: true,
},
}
}
})
上传配置
¥Upload configuration
上传插件 可处理 媒体库。使用默认上传提供程序时,可以在 config/plugins
文件内的 upload.config
对象中声明以下特定配置选项。所有参数都是可选的:
¥The Upload plugin handles the Media Library. When using the default upload provider, the following specific configuration options can be declared in an upload.config
object within the config/plugins
file. All parameters are optional:
范围 | 描述 | 类型 | 默认 |
---|---|---|---|
providerOptions.localServer | 将传递给构建上传服务器的 koa-static 的选项。 (有关更多详细信息,请参阅上传文档中的 本地服务器配置) | 目的 | * |
sizeLimit | 最大文件大小(以字节为单位)。 (有关其他信息,请参阅上传插件文档中的 最大文件大小配置) | 整数 | 209715200 (200 MB,以字节为单位,即 200 x 1024 x 1024 字节) |
breakpoints | 当 "响应式友好上传" 选项设置为 true 时,允许覆盖生成响应式图片的断点大小。(有关其他信息,请参阅上传插件文档中的 响应式图片配置) | 目的 | { large: 1000, medium: 750, small: 500 } |
一些配置选项也可以直接从管理面板设置(参见 用户指南)。
¥Some configuration options can also be set directly from the Admin Panel (see User Guide).
上传请求超时是在服务器选项中定义的,而不是在上传插件选项中定义的,因为它不是特定于上传插件的,而是应用于整个 Strapi 服务器实例。有关更多详细信息,请参阅上传文档中的 上传请求超时配置。
¥The Upload request timeout is defined in the server options, not in the Upload plugin options, as it's not specific to the Upload plugin but is applied to the whole Strapi server instance. See upload request timeout configuration in the Upload documentation for additional details.
当使用不同的上传提供商时,可能会提供其他配置选项。对于 Strapi 维护的上传提供程序,请参阅 亚马逊 S3 提供商 和 云提供商 文档以获取有关可用选项的更多信息。
¥When using a different upload provider, additional configuration options might be available. For Upload providers maintained by Strapi, see the Amazon S3 provider and Cloudinary provider documentations for additional information about available options.
自定义配置示例:
¥Example custom configuration:
以下是使用默认上传提供程序时上传插件的自定义配置示例:
¥The following is an example of a custom configuration for the Upload plugin when using the default upload provider:
- JavaScript
- TypeScript
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
},
},
},
});
export default () => ({
upload: {
config: {
providerOptions: {
localServer: {
maxage: 300000
},
},
sizeLimit: 250 * 1024 * 1024, // 256mb in bytes
breakpoints: {
xlarge: 1920,
large: 1000,
medium: 750,
small: 500,
xsmall: 64
},
},
},
})