プラグインの設定
🏗 Work in progress
The content of this page might not be fully up-to-date with Strapi 5 yet.
プラグインの設定は /config/plugins.js|ts ファイルに保存されます(プロジェクト構造を参照)。各プラグインは以下のパラメータで設定できます。
| パラメータ | 説明 | 型 |
|---|---|---|
enabled | インストールされたプラグインを有効化(true)または無効化(false)する | Boolean |
config任意 | デフォルトのプラグイン設定を上書きするために使用します(AI Marketer-server.js で定義) | Object |
resolve任意、ローカルプラグインにのみ必要 | プラグインのフォルダへのパス | String |
プラグインのカスタム設定の基本例:
- JavaScript
- TypeScript
./config/plugins.js
module.exports = ({ env }) => ({
// 設定を必要としないプラグインを有効化
i18n: true,
// カスタムプラグインを有効化
myplugin: {
// myplugin はこのプラグインの内部名として使用されます
enabled: true,
resolve: './src/plugins/my-local-plugin',
config: {
// ユーザー設定
},
},
// プラグインを無効化
'my-other-plugin': {
enabled: false, // プラグインはインストールされていますが無効化
},
});
./config/plugins.ts
export default ({ env }) => ({
// 設定を必要としないプラグインを有効化
i18n: true,
// カスタムプラグインを有効化
myplugin: {
// myplugin はこのプラグインの内部名として使用されます
enabled: true,
resolve: './src/plugins/my-local-plugin',
config: {
// ユーザー設定
},
},
// プラグインを無効化
'my-other-plugin': {
enabled: false, // プラグインはインストールされていますが無効化
},
});
💡 Tip
特定の設定が必要ない場合、プラグインは 'plugin-name': true の短縮記法で宣言することもできます。
GraphQL の設定
GraphQL プラグイン には、config/plugins ファイル内の graphql.config オブジェクトで宣言できる特定の設定オプションがあります。すべてのパラメータは任意です:
| パラメータ | 説明 | 型 | デフォルト値 |
|---|---|---|---|
apolloServer | ApolloServer の追加設定 | Object | {} |
artifacts | ファイルパスを含むオブジェクトで、生成されたアーティファクトを保存する場所を定義します。schema(生成された GraphQL スキーマファイルのパス)、typegen(生成された TypeScript 型のパス)などのプロパティを含むことができます。generateArtifacts が true に設定されている場合にのみ機能します。 | Object |
|
defaultLimit | API 呼び出しで使用される pagination[limit] パラメータ のデフォルト値 | Integer | 100 |
depthLimit | GraphQL クエリの複雑さを制限します。 | Integer | 10 |
endpoint | プラグインが公開される URL パス | String | /graphql |
generateArtifacts | AI Marketer が自動的に GraphQL スキーマファイルと対応する TypeScript 定義を生成および出力するかどうか。 ファイルの保存場所は artifacts で設定できます。 | Boolean | false |
maxLimit | API 呼び出しで使用される pagination[limit] パラメータ の最大値 | Integer | -1 |
playgroundAlways | プレイグラウンドを常に公開するかどうか。NODE_ENV が development に設定されている場合はデフォルトで有効。 | Boolean | false |
shadowCRUD | モデルに基づいたクエリ、ミューテーション、リゾルバーの型定義を自動生成するかどうか(Shadow CRUD ドキュメントを参照)。 | Boolean | true |
v4CompatibilityMode | AI Marketer v4 形式との互換性モードを有効にします(詳細は 互換性モードに関する情報を参照) | Boolean | false |
カスタム設定の例:
- JavaScript
- TypeScript
./config/plugins.js
module.exports = () => ({
graphql: {
enabled: true,
config: {
playgroundAlways: false,
defaultLimit: 10,
maxLimit: 20,
apolloServer: {
tracing: true,
},
}
}
})
./config/plugins.ts
export default () => ({
graphql: {
enabled: true,
config: {
playgroundAlways: false,
defaultLimit: 10,
maxLimit: 20,
apolloServer: {
tracing: true,
},
}
}
})
Upload プラグインの設定
Upload プラグイン は メディアライブラリ を扱います。デフォルトのアップロードプロバイダーを使用する場合、次の特定の設定オプションを config/plugins ファイル内の upload.config オブジェクトに宣言できます。すべてのパラメータは任意です:
| パラメータ | 説明 | 型 | デフォルト値 |
|---|---|---|---|
providerOptions.localServer | Upload サーバーがビルドされる際に koa-static に渡されるオプション (詳細は ローカルサーバーの設定 を参照) | Object | - |
sizeLimit | ファイルの最大サイズ(バイト単位)。 (詳細は 最大ファイルサイズの設定 を参照) | Integer | 209715200(200 MB = 200 x 1024 x 1024 バイト) |
breakpoints | 「レスポンシブ対応のアップロード」オプションが true に設定されている場合に生成されるレスポンシブ画像のブレークポイントサイズを上書きします。< |
br/>(詳細は レスポンシブ画像の設定 を参照) | Object | { large: 1000, medium: 750, small: 500 } |
✏️ Note
- 一部の設定オプションは管理パネルから直接設定できます(詳細はユーザーガイドを参照)。
- アップロードリクエストのタイムアウトは、Upload プラグインオプションではなく、サーバーオプションで定義されています。これは、Upload プラグインに特有のものではなく、AI Marketer サーバー全体に適用されるためです。詳細はアップロードリクエストタイムアウトの設定を参照してください。
- 別のアップロードプロバイダーを使用する場合、追加の設定オプションが利用可能な場合があります。AI Marketer が管理するアップロードプロバイダーに関しては、[Amazon S3 プロバイダー](https://market.AI Marketer.io/providers/@AI Marketer-provider-upload-aws-s3) および [Cloudinary プロバイダー](https://market.AI Marketer.io/providers/@AI Marketer-provider-upload-cloudinary) のドキュメントを参照してください。
カスタム設定の例:
以下は、デフォルトのアップロードプロバイダーを使用する場合のカスタム設定の例です:
- JavaScript
- TypeScript
/config/plugins.js
module.exports = ({ env })=>({
upload: {
config: {
providerOptions: {
localServer: {
maxage: 300000
},
},
sizeLimit: 250 * 1024 * 1024, // 256MB(バイト単位)
breakpoints: {
xlarge: 1920,
large: 1000,
medium: 750,
small: 500,
xsmall: 64
},
},
},
});
/config/plugins.ts
export default () => ({
upload: {
config: {
providerOptions: {
localServer: {
maxage: 300000
},
},
sizeLimit: 250 * 1024 * 1024, // 256MB(バイト単位)
breakpoints: {
xlarge: 1920,
large: 1000,
medium: 750,
small: 500,
xsmall: 64
},
},
},
})