Plugin プラグイン
NocoBase では、クライアントプラグイン(Client Plugin) がフロントエンド機能を拡張・カスタマイズするための主要な手段です。プラグインディレクトリの src/client-v2/plugin.tsx で @nocobase/client-v2 が提供する Plugin 基底クラスを継承し、load() などのライフサイクルでルーティングやモデルなどのリソースを登録します。
ほとんどの場合、load() だけを意識すれば十分です。通常、コアロジックは load() フェーズで登録します。
クライアン トプラグインの開発を始める前に、最初のプラグインを作成する のセクションを読み、基本的なプラグインのディレクトリ構造とファイルを生成済みであることを確認してください。
基本構造
ライフサイクル
ブラウザのリフレッシュやアプリケーションの初期化のたびに、 プラグインは afterAdd() → beforeLoad() → load() の順で実行されます。
通常、クライアントプラグインの開発では load() を書くだけで十分です。
load() で行うこと
load() はプラグイン機能を登録するためのコアエントリポイントです。よくある操作を紹介します。
ページルーティングの登録:
詳しい使い方は Router ルーティング を参照してください。
FlowModel の登録:
registerModelLoaders は遅延読み込み(動的インポート)を使用しており、モデルが初めて使用されるときに対応するモジュールが読み込まれます。これが推奨される登録方法です。詳しい使い方は FlowEngine を参照してください。
プラグインの主要プロパティ
プラグインクラス内で、以下のプロパティに this からアクセスできます。
NocoBase のさらなる機能(api、t(i18n)、logger など)にアクセスする必要がある場合は、this.context から取得できます。
その他のコンテキスト機能については Context コンテキスト を参照してください。
関連リンク
- Router ルーティング — ページルーティングとプラグイン設定ページの登録
- Component コンポーネント開発 — ルーティングにマウント する React コンポーネントの書き方
- Context コンテキスト — コンテキストを通じた NocoBase 組み込み機能の利用
- FlowEngine — ブロック、フィールド、アクションなどビジュアル設定コンポーネントの登録
- 最初のプラグインを作成する — ゼロからプラグインを作成

