Manajemen Dependensi
Dalam pengembangan plugin NocoBase, dependensi dibagi menjadi dua kategori: dependensi sendiri dan dependensi global.
- Dependensi global: Disediakan oleh
@nocobase/serverdan@nocobase/client-v2, tidak perlu di-package secara terpisah dalam plugin. - Dependensi sendiri: Dependensi yang khusus dimiliki plugin (termasuk dependensi server), akan di-package ke dalam hasil produksi plugin.
Prinsip Pengembangan
Karena dependensi sendiri akan di-package ke dalam hasil produksi plugin (dependensi server akan di-package ke dist/node_modules), Anda dapat mendeklarasikan semua dependensi di devDependencies daripada dependencies. Cara ini menghindari perbedaan antara environment development dengan production.
Ketika plugin perlu menggunakan dependensi berikut, pastikan nomor versi sama dengan dependensi global di @nocobase/server dan @nocobase/client-v2, jika tidak dapat menyebabkan konflik runtime.
Dependensi Global
Dependensi berikut disediakan oleh NocoBase, tidak perlu di-package dalam plugin. Jika memang perlu digunakan, harus menjaga konsistensi dengan versi NocoBase.
Saran Pengembangan
-
Menjaga Konsistensi Dependensi
Jika dependensi global sudah memiliki suatu paket, gunakan versi global secara langsung, jangan menginstal versi yang berbeda. -
Meminimalkan Ukuran Package
Library UI yang umum (sepertiantd), library utility (sepertilodash), driver database (sepertipg,mysql2), semuanya harus menggunakan versi yang disediakan secara global, untuk menghindari packaging berulang. -
Konsistensi Debug dan Production
MenggunakandevDependenciescukup untuk memastikan konsistensi antara development dan hasil akhir, menghindari perbedaan environment akibat konfigurasidependenciesdanpeerDependenciesyang tidak tepat.
Tautan Terkait
- Build & Packaging — Konfigurasi build dan packaging plugin
- Struktur Direktori Proyek — Cara organisasi file plugin
- Menulis Plugin Pertama — Membuat plugin dari nol
- Ikhtisar Plugin Development — Pengantar menyeluruh tentang plugin development

