Struktur Direktori Proyek
Apakah Anda meng-clone source code melalui Git, atau menginisialisasi proyek dengan create-nocobase-app, proyek NocoBase yang dihasilkan pada dasarnya adalah repository multi-paket berbasis Yarn Workspace.
Ikhtisar Direktori Tingkat Atas
Berikut menggunakan my-nocobase-app/ sebagai direktori proyek. Mungkin ada sedikit perbedaan di environment yang berbeda:
Penjelasan Subdirektori packages/
Direktori packages/ berisi modul inti dan paket yang dapat diperluas dari NocoBase, konten spesifik bergantung pada sumber proyek:
- Proyek yang dibuat melalui
create-nocobase-app: Secara default hanya memilikipackages/plugins/, digunakan untuk menyimpan source code plugin kustom. Setiap subdirektori adalah paket npm independen. - Clone repository source code resmi: Akan terlihat lebih banyak subdirektori, seperti
core/,plugins/,pro-plugins/,presets/, dll., masing-masing sesuai dengan core framework, plugin bawaan, dan solusi preset resmi.
Apapun kasusnya, packages/plugins adalah lokasi utama Anda untuk mengembangkan dan men-debug plugin kustom.
Direktori Runtime storage/
storage/ menyimpan data yang digenerate saat runtime dan output build. Penjelasan subdirektori umum sebagai berikut:
apps/: Konfigurasi dan cache untuk skenario multi-aplikasi.logs/: Log runtime dan output debug.uploads/: File dan resource media yang diupload pengguna.plugins/: Plugin yang di-package, diupload melalui antarmuka atau diimpor melalui CLI.tar/: Paket terkompresi plugin yang dihasilkan setelah menjalankanyarn build <plugin> --tar.
Umumnya disarankan untuk menambahkan direktori storage ke .gitignore, dan menanganinya secara terpisah saat deployment atau backup.
Konfigurasi Environment dan Script Proyek
.env,.env.test,.env.e2e: Masing-masing untuk runtime lokal, test unit/integrasi, dan test end-to-end.scripts/: Menyimpan script operasional umum, seperti inisialisasi database, tools bantuan rilis, dll.
Path dan Prioritas Loading Plugin
Plugin dapat berada di beberapa lokasi, NocoBase memuatnya saat startup berdasarkan prioritas berikut:
- Versi source code di
packages/plugins(untuk pengembangan dan debugging lokal). - Versi yang di-package di
storage/plugins(diupload melalui antarmuka atau diimpor melalui CLI). - Paket dependensi di
node_modules(diinstal melalui npm/yarn atau bawaan framework).
Jika plugin dengan nama sama berada di direktori source code dan direktori package secara bersamaan, NocoBase akan memuat versi source code terlebih dahulu, untuk memudahkan override dan debugging lokal.
Template Direktori Plugin
Membuat plugin dengan CLI:
Struktur direktori yang dihasilkan adalah sebagai berikut:
Setelah build selesai, file dist/ serta client-v2.js dan server.js akan dimuat saat plugin diaktifkan. Selama tahap pengembangan Anda hanya perlu memodifikasi direktori src/, sebelum rilis jalankan yarn build <plugin> atau yarn build <plugin> --tar.
Tautan Terkait
- Menulis Plugin Pertama — Membuat plugin dari nol dan merasakan alur pengembangan lengkap
- 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
- Manajemen Dependensi — Cara deklarasi dan manajemen dependensi plugin

