Plugin プラグイン
NocoBase では、サーバーサイドプラグイン(Server Plugin) はサーバーサイドの機能を拡張するための主要な方法です。プラグインディレクトリの src/server/plugin.ts で @nocobase/server が提供する Plugin 基底クラスを継承し、さまざまなライフサイクル段階でイベント、インターフェース、権限などのカスタムロジックを登録できます。
プラグインクラス
基本的なプラグインクラスの構造は以下の通りです:
ライフサイクル
プラグインのライフサイクルメソッドは以下の順序で実行され、各メソッドには特定の実行タイミングと用途があります:
実行順序の説明
ライフサイクルメソッドの典型的な実行フローは以下の通りです:
- 静的初期化フェーズ:
staticImport() - アプリケーション起動フェーズ:
afterAdd()→beforeLoad()→load() - プラグイン初回有効化フェーズ:
afterAdd()→beforeLoad()→load()→install() - プラグイン再有効化フェーズ:
afterAdd()→beforeLoad()→load() - プラグイン無効化フェーズ:プラグイン無効化時に
afterDisable()が実行されます - プラグイン削除フェーズ:プラグイン削除時に
remove()が実行されます
app と関連メンバー
プラグイン開発では、this.app を通じてアプリケーションインスタンスが提供するさまざまな API にアクセスできます。これはプラグインの機能拡張のコア入口です。app オブジェクトにはシステムのさまざまな機能モジュールが含まれており、プラグインのライフサイクルメソッド内でこれらを使用できます。
app メンバーリスト
提示
各モジュールの詳細な使用方法については、対応するドキュメントの章を参照してください。
関連リンク
- サーバーサイド開発の概要 — サーバーサイドの各モジュールの総覧とナビゲーション
- Collections データテーブル — コードによるデータテーブル構造の定義と拡張
- Database データベース — CRUD、Repository、トランザクションとデータベースイベント
- Migration データ移行 — プラグインアップグレード時のデータ移行スクリプト
- Event イベント — アプリケーションレベルおよびデータベースレベルのイベントリッスンと処理
- ResourceManager リソース管理 — カスタム REST API と操作の登録
- 最初の プラグインを作成する — ゼロから完全なプラグインを作成
- Logger ログ — システムログの記録
- ACL 権限制御 — 権限とアクセス戦略の定義
- Cache キャッシュ — システムレベルのキャッシュ管理
- CronJobManager 定時タスク — 定時タスクの登録と管理
- I18n 国際化 — 多言語翻訳
- Command コマンドライン — カスタム CLI コマンドの登録
- DataSourceManager データソース管理 — 複数データソースの管理

