logologo
スタート
マニュアル
開発
プラグイン
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
スタート
マニュアル
開発
プラグイン
API
logologo

クイックスタート

プラグイン開発概要
最初のプラグインを作成
プロジェクトディレクトリ構造

サーバーサイド開発

概要
プラグイン
コレクション
データベース操作
データソース管理
リソース管理
ACL権限制御
ミドルウェア
キャッシュ
イベント
リクエストコンテキスト
マイグレーション
ロガー
I18n 国際化
コマンド
定時タスク管理
テスト

クライアントサイド開発

概要
プラグイン
コンテキスト
ルーター
ACL権限制御
データソース管理
リソース
リクエスト
スタイルとテーマ
ロガー
I18n 国際化
テスト

その他

プラグインアップグレードガイド
言語一覧
依存関係の管理
ビルド
Next Pageプラグイン開発概要
TIP

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

#プラグイン開発の概要

NocoBaseはマイクロカーネルアーキテクチャを採用しており、コアはプラグインのライフサイクル管理、依存関係管理、そして基本的な機能のカプセル化のみを担当しています。すべてのビジネス機能はプラグインとして提供されます。そのため、プラグインの構成、ライフサイクル、管理方法を理解することが、NocoBaseをカスタマイズする上での最初のステップとなります。

#コアコンセプト

  • プラグアンドプレイ:必要に応じてプラグインをインストール、有効化、または無効化できます。コードを修正することなく、ビジネス機能を柔軟に組み合わせることが可能です。
  • フルスタック統合:プラグインは通常、サーバーサイドとクライアントサイドの両方の実装を含んでおり、データロジックとUIインタラクションの一貫性を保証します。

#プラグインの基本構造

各プラグインは独立したnpmパッケージであり、通常、以下のようなディレクトリ構造を持っています。

plugin-hello/
├─ package.json          # プラグイン名、依存関係、およびNocoBaseプラグインのメタ情報
├─ client.js             # フロントエンドのビルド成果物。ランタイムで読み込まれます。
├─ server.js             # サーバーサイドのビルド成果物。ランタイムで読み込まれます。
├─ src/
│  ├─ client/            # クライアントサイドのソースコード。ブロック、アクション、フィールドなどを登録できます。
│  └─ server/            # サーバーサイドのソースコード。リソース、イベント、コマンドなどを登録できます。

#ディレクトリの慣例と読み込み順序

NocoBaseは、デフォルトで以下のディレクトリをスキャンしてプラグインを読み込みます。

my-nocobase-app/
├── packages/
│   └── plugins/          # ソースコード開発中のプラグイン(最も優先度が高い)
└── storage/
    └── plugins/          # コンパイル済みのプラグイン(例:アップロードまたは公開されたプラグイン)
  • packages/plugins:ローカル開発用のプラグインディレクトリで、リアルタイムコンパイルとデバッグをサポートしています。
  • storage/plugins:コンパイル済みのプラグイン(商用版やサードパーティ製プラグインなど)が格納されます。

#プラグインのライフサイクルと状態

プラグインは通常、以下のフェーズを経ます。

  1. 作成(create):CLI を使ってプラグインテンプレートを作成します。
  2. プル(pull):プラグインパッケージをローカルにダウンロードしますが、まだデータベースには書き込まれていません。
  3. 有効化(enable):初回有効化時に「登録 + 初期化」が実行されます。再度有効化する際は、ロジックのみが読み込まれます。
  4. 無効化(disable):プラグインの実行を停止します。
  5. 削除(remove):システムからプラグインを完全に削除します。
TIP
  • pull はプラグインパッケージのダウンロードのみを担当し、実際のインストールプロセスは初回 enable 時にトリガーされます。
  • プラグインが pull されただけで有効化されていない場合、そのプラグインは読み込まれません。

#CLIコマンド例

# 1. プラグインのスケルトンを作成
yarn pm create @my-project/plugin-hello

# 2. プラグインパッケージをプル(ダウンロードまたはリンク)
yarn pm pull @my-project/plugin-hello

# 3. プラグインを有効化(初回有効化時に自動でインストールされます)
yarn pm enable @my-project/plugin-hello

# 4. プラグインを無効化
yarn pm disable @my-project/plugin-hello

# 5. プラグインを削除
yarn pm remove @my-project/plugin-hello

#プラグイン管理画面

ブラウザでプラグインマネージャーにアクセスすると、プラグインを直感的に表示・管理できます。

デフォルトURL: http://localhost:13000/admin/settings/plugin-manager

プラグインマネージャー