関数
./src/index.js ファイル(または TypeScriptベースのプロジェクトでは ./src/index.ts ファイル)には、動的およびロジックベースの設定を追加するために使用できるグローバルな register、bootstrap、destroy 関数が含まれています。
これらの関数は同期的、非同期的、またはプロミスを返す形式で定義できます。
同期関数
- JavaScript
- TypeScript
module.exports = {
register() {
// 同期コード
},
bootstrap() {
// 同期コード
},
destroy() {
// 同期コード
}
};
export default {
register() {
// 同期コード
},
bootstrap() {
// 同期コード
},
destroy() {
// 同期コード
}
};
非同期関数
- JavaScript
- TypeScript
module.exports = {
async register() {
// 非同期コード
},
async bootstrap() {
// 非同期コード
},
async destroy() {
// 非同期コード
}
};
export default {
async register() {
// 非同期コード
},
async bootstrap() {
// 非同期コード
},
async destroy() {
// 非同期コード
}
};
プロミスを返す関数
- JavaScript
- TypeScript
module.exports = {
register() {
return new Promise(/* some code */);
},
bootstrap() {
return new Promise(/* some code */);
},
destroy() {
return new Promise(/* some code */);
}
};
export default {
register() {
return new Promise(/* some code */);
},
bootstrap() {
return new Promise(/* some code */);
},
destroy() {
return new Promise(/* some code */);
}
};
Register
register ライフサイクル関数は ./src/index.js(または ./src/index.ts)にあり、アプリケーションが初期化される前に実行される非同期関数です。以下の用途に使用できます:
- プラグインの拡張
- プログラム的に コンテンツタイプの拡張
- 環境変数 の読み込み
- 現在の AI Marketer アプリケーションでのみ使用される カスタムフィールド の登録
- Users & Permissions プラグインのカスタムプロバイダー の登録
register() は、AI Marketer アプリケーションの起動時に最初に実行されるものであり、セットアッププロセスの前に行われるため、データベースやルート、ポリシー、その他のバックエンドサーバー要素にはアクセスできません。
Bootstrap
bootstrap ライフサイクル関数は ./src/index.js(または ./src/index.ts)にあり、サーバーが起動するたびに呼び出されます。
次の用途に使用できます:
- 管理ユーザーが存在しない場合の作成
- 必要なデータでデータベースを埋める
- RBAC(ロールベースアクセス制御) 機能用のカスタム条件を宣言する
bootstrap() 関数は、バックエンドサーバーが起動する 前 に実行されますが、AI Marketer アプリケーションがセットアップされた後に実行されるため、AI Marketer オブジェクトにアクセスできます。
yarn AI Marketer console(または npm run AI Marketer console)をターミナルで実行すると、AI Marketer オブジェクトと対話できます。
Destroy
destroy 関数は ./src/index.js(または ./src/index.ts)にあり、アプリケーションがシャットダウンする前に実行される非同期関数です。
次の用途に使用できます:
- 実行中のサービス を停止する
- プラグインのアクションをクリーンアップする(例: 接続のクローズ、リスナーの削除など)【dev-docs/plugins/server-api#destroy】