Menulis Plugin Pertama
Dokumen ini akan memandu Anda membuat plugin Block yang dapat digunakan di halaman dari nol, untuk membantu Anda memahami struktur dasar dan alur pengembangan plugin NocoBase.
Prasyarat
Sebelum memulai, pastikan Anda telah menginstal NocoBase. Jika belum diinstal, Anda dapat merujuk pada:
Setelah instalasi selesai, Anda dapat memulai.
Langkah 1: Membuat Skeleton Plugin melalui CLI
Jalankan perintah berikut di root direktori repository untuk dengan cepat menggenerate plugin kosong:
Setelah perintah berhasil dijalankan, file dasar akan digenerate di direktori packages/plugins/@my-project/plugin-hello, dengan struktur default sebagai berikut:
Setelah pembuatan selesai, Anda dapat mengakses halaman "Plugin Manager" di browser (alamat default: http://localhost:13000/admin/settings/plugin-manager) untuk memastikan plugin sudah muncul di daftar.
Langkah 2: Mengimplementasikan Block Client Sederhana
Selanjutnya tambahkan model Block kustom ke plugin, untuk menampilkan teks selamat datang.
- Tambahkan file model Block
client-v2/models/HelloBlockModel.tsx:
- Daftarkan model Block. Edit
client-v2/models/index.ts, ekspor model baru tersebut untuk dimuat saat runtime front-end:
Setelah menyimpan kode, jika Anda menjalankan script development, Anda akan melihat log hot update di output terminal.
Langkah 3: Aktifkan dan Coba Plugin
Anda dapat mengaktifkan plugin melalui command line atau antarmuka:
-
Command Line
-
Antarmuka Manajemen: Akses "Plugin Manager", temukan
@my-project/plugin-hello, klik "Aktifkan".
Setelah diaktifkan, buat halaman "Modern page (v2)" baru, saat menambahkan Block Anda akan melihat "Hello block", masukkan ke halaman dan Anda akan melihat konten selamat datang yang baru saja Anda tulis.

Membuat Plugin Default Preset atau Default Aktif (Opsional)
Di atas dijelaskan cara mengaktifkan plugin secara manual satu per satu. Jika Anda memelihara aplikasi NocoBase sendiri dan ingin beberapa plugin sudah siap secara otomatis setelah menjalankan nocobase install (instalasi pertama) atau nocobase upgrade (upgrade), Anda dapat menggunakan dua environment variable untuk mengontrol status default plugin:
APPEND_PRESET_LOCAL_PLUGINS(tambahkan plugin preset lokal default) — Menambahkan plugin ke daftar plugin preset lokal; setelah instalasi akan muncul di "Plugin Manager", tetapi tidak aktif secara default dan perlu diaktifkan secara manualAPPEND_PRESET_BUILT_IN_PLUGINS(tambahkan plugin built-in default) — Menambahkan plugin ke daftar plugin built-in; saat instalasi plugin diaktifkan secara otomatis, dan sebagai plugin built-in, tidak dapat dinonaktifkan atau dihapus di "Plugin Manager"
Nilai kedua variable ini adalah nama paket plugin (field name di package.json), pisahkan beberapa plugin dengan koma. Konfigurasi di file .env seperti berikut:
Pada umumnya, untuk pengembangan dan debugging lokal, yarn pm enable sudah cukup. Kedua variable ini lebih cocok untuk skenario distribusi "siap pakai" — misalnya Anda mengemas aplikasi NocoBase dengan plugin tertentu dan ingin plugin langsung tersedia setelah inisialisasi.
- Plugin harus sudah diunduh ke lokal dan dapat ditemukan di
node_modules, lihat Struktur Direktori Proyek - Setelah dikonfigurasi, perlu menjalankan ulang
nocobase installataunocobase upgradeagar perubahan berlaku - Penjelasan lengkap environment variable lihat Environment Variable
Langkah 4: Build & Packaging
Ketika Anda siap mendistribusikan plugin ke environment lain, Anda perlu build kemudian packaging:
Jika plugin dibuat di repository source code, build pertama akan memicu pemeriksaan tipe untuk seluruh repository, yang mungkin memakan waktu cukup lama. Pastikan dependensi sudah terinstal dan repository dalam kondisi siap untuk dibuild.
Setelah build selesai, file packaging secara default berada di storage/tar/@my-project/plugin-hello.tar.gz.
Sebelum plugin dirilis, disarankan untuk menulis test case untuk memvalidasi logika inti, NocoBase menyediakan toolchain test server yang lengkap. Lihat Test Pengujian.
Langkah 5: Upload ke Aplikasi NocoBase Lain
Upload dan ekstrak file packaging ke direktori ./storage/plugins aplikasi target. Untuk langkah detail, lihat Instalasi & Upgrade Plugin.
Tautan Terkait
- Ikhtisar Plugin Development — Memahami arsitektur microkernel NocoBase dan siklus hidup plugin
- Struktur Direktori Proyek — Konvensi direktori proyek, path dan prioritas loading plugin
- Ikhtisar Pengembangan Server — Pengantar menyeluruh dan konsep inti plugin server
- Ikhtisar Pengembangan Client — Pengantar menyeluruh dan konsep inti plugin client
- Build & Packaging — Alur build, packaging, dan distribusi plugin
- Test Pengujian — Menulis test case plugin server
- Instalasi menggunakan create-nocobase-app — Salah satu cara instalasi NocoBase
- Instalasi dari source code Git — Instalasi NocoBase dari source code
- Instalasi & Upgrade Plugin — Upload plugin yang sudah di-package ke environment lain
- Environment Variable — Konfigurasi environment variable untuk plugin preset dan built-in

