Plugin
Di NocoBase, Server Plugin adalah cara utama untuk memperluas fungsi server. Anda dapat extends class dasar Plugin yang disediakan oleh @nocobase/server di src/server/plugin.ts direktori plugin Anda, kemudian mendaftarkan event, API, hak akses, dan logika kustom lainnya pada tahap siklus hidup yang berbeda.
Class Plugin
Struktur class plugin dasar adalah sebagai berikut:
Siklus Hidup
Method siklus hidup plugin dieksekusi dalam urutan berikut, masing-masing memiliki waktu eksekusi dan tujuan tertentu:
Penjelasan Urutan Eksekusi
Alur eksekusi tipikal method siklus hidup:
- Tahap Inisialisasi Statis:
staticImport() - Tahap Startup Aplikasi:
afterAdd()→beforeLoad()→load() - Tahap Aktivasi Pertama Plugin:
afterAdd()→beforeLoad()→load()→install() - Tahap Aktivasi Berikutnya Plugin:
afterAdd()→beforeLoad()→load() - Tahap Deaktivasi Plugin: Eksekusi
afterDisable()saat menonaktifkan plugin - Tahap Penghapusan Plugin: Eksekusi
remove()saat menghapus plugin
Member app dan Terkait
Dalam pengembangan plugin, melalui this.app Anda dapat mengakses berbagai API yang disediakan oleh instance aplikasi — ini adalah entry point inti untuk plugin memperluas fungsionalitas. Objek app berisi berbagai modul fungsional sistem, Anda dapat menggunakannya dalam method siklus hidup plugin.
Daftar Member app
Untuk penggunaan detail setiap modul, silakan merujuk ke bagian dokumentasi yang sesuai.
Tautan Terkait
- Ikhtisar Pengembangan Server — Ringkasan dan navigasi setiap modul server
- Collections Tabel Data — Mendefinisikan atau memperluas struktur tabel data dengan kode
- Database — CRUD, Repository, transaksi, dan event database
- Migration Migrasi Data — Skrip migrasi data saat upgrade plugin
- Event — Listen dan handle event level aplikasi dan database
- ResourceManager Manajemen Resource — Mendaftarkan REST API dan operasi kustom
- Menulis Plugin Pertama — Membuat plugin lengkap dari nol
- Logger Log — Mencatat log sistem
- ACL Kontrol Hak Akses — Mendefinisikan hak akses dan kebijakan akses
- Cache — Mengelola cache level sistem
- CronJobManager Tugas Terjadwal — Mendaftarkan dan mengelola tugas terjadwal
- I18n Internasionalisasi — Terjemahan multi-bahasa
- Command Command Line — Mendaftarkan command CLI kustom
- DataSourceManager Manajemen Data Source — Mengelola beberapa data source

