ビルドとパッケージング
プラグインの開発が完了したら、ビルド(ソースコードのコンパイル)とパッケージング(.tar.gz の生成)の 2 つのステップを経て、他の NocoBase アプリケーションに配布して使用できるようになります。
プラグインのビルド
ビルドでは src/ 以下の TypeScript ソースコードを JavaScript にコンパイルします。クライアントコードは Rsbuild でバンドルされ、サーバーコードは tsup でバンドルされます:
ビルド成果物はプラグインのルートディレクトリの dist/ に出力されます。
プラグインがソースコードリポジトリ内で作成された場合、初回ビルド時にリポジトリ全体の型チェックが実行されるため、時間がかかる場合があります。依存関係がインストール済みであることを確認し、リポジトリをビルド可能な状態に保つことをお勧めします。
プラグインのパッケージング
パッケージングでは、ビルド成果物を .tar.gz ファイルに圧縮し、他の環境へのアップロードを容易にします:
パッケージファイルはデフォルトで storage/tar/@my-project/plugin-hello.tar.gz に出力されます。
--tar パラメータを使用すると、ビルドとパッケージングを 1 ステップにまとめることもできます:
他の NocoBase アプリケーションへのアップロード
.tar.gz ファイルをターゲットアプリケーションの ./storage/plugins ディレクトリにアップロードして解凍するだけです。詳細な手順は プラグインのインストールとアップグレード をご覧ください。
カスタムビルド設定
通常、デフォルトのビルド設定で十分です。カスタマイズが必要な場合 -- 例えばバンドルエントリの変更、エイリアスの追加、圧縮オプションの調整など -- プラグインのルートディレクトリに build.config.ts ファイルを作成してください:
いくつかの重要なポイント:
modifyRsbuildConfig-- クライアントバンドルの調整に使用します。例えば、Rsbuild プラグインの追加、resolve エイリアスの変更、コード分割戦略の調整などです。設定項目は Rsbuild ドキュメント を参照してくださいmodifyTsupConfig-- サーバーバンドルの調整に使用します。例えば、target、externals、entry の変更などです。設定項目は tsup ドキュメント を参照してくださいbeforeBuild/afterBuild-- ビルド前後のフックで、ログ出力用のlog関数を受け取ります。例えばbeforeBuildでコードファイルを生成し、afterBuildで静的リソースを成果物ディレクトリにコピーするなどの用途があります
関連リンク
- はじめてのプラグインを作成する -- ゼロからプラグインを作成する、ビルドとパッケージングの完全なフロー
- プロジェクトのディレクトリ構造 --
packages/plugins、storage/tarなどのディレクトリの役割を理解する - 依存関係の管理 -- プラグインの依存関係宣言とグローバル依存関係
- プラグイン開発の概要 -- プラグイン開発の全体的な紹介
- プラグインのインストールとアップグレード -- パッケージファイルをターゲット環境にアップロードする

