Mulai

Struktur aplikasi

Pahami tanggung jawab setiap direktori dan alur bootstrap aplikasi Lanjit.

Beta · v0.2.0API Lanjit masih dapat berubah sebelum versi stabil. Periksa catatan rilis dan panduan peningkatan sebelum memperbarui.

Struktur Lanjit memisahkan kode aplikasi, bootstrap, konfigurasi, database, resource, route, dan source framework. Konvensi ini membuat lokasi sebuah fitur dapat diprediksi.

Direktori utama

lanjit/
├── app/
│   ├── Http/Controllers/
│   ├── Http/Middleware/
│   ├── Models/
│   └── Providers/
├── bootstrap/
├── config/
├── database/
│   ├── factories/
│   ├── migrations/
│   └── seeders/
├── framework/
├── public/
├── resources/
│   ├── css/
│   ├── js/
│   └── views/
├── routes/
├── storage/
├── tests/
└── artisan

app/

Berisi kode utama aplikasi: controller HTTP, middleware khusus aplikasi, model, dan service provider.

bootstrap/

bootstrap/app.js merangkai konfigurasi routing, provider, middleware, dan exception renderer. bootstrap/providers.js berisi daftar service provider aplikasi.

framework/

Berisi implementasi inti Lanjit selama fase awal pengembangan. Direktori ini mencakup container, router, database, HTTP, validation, queue, scheduler, dan layanan lainnya.

routes/

  • web.js untuk route web.
  • api.js untuk route dengan prefix otomatis /api.
  • console.js untuk scheduled task.

resources/

Berisi view HTML serta source CSS dan JavaScript sisi klien.

storage/

Digunakan untuk log, cache bootstrap, session, dan file aplikasi. Pastikan proses Node.js memiliki izin tulis pada direktori ini.

Alur bootstrap

Saat aplikasi dimulai, Application.configure() membuat application container. Builder kemudian memasang provider, file route, middleware, dan exception handler sebelum create() mengembalikan instance aplikasi.

export default Application.configure({ basePath })
  .withProviders(providerFile)
  .withRouting({ web, api, console, health: '/up' })
  .withMiddleware((middleware) => {
    middleware.alias({ auth: AuthenticateMiddleware });
    middleware.append(SecurityHeadersMiddleware);
  })
  .create();
Edit halaman ini di GitHub

Ketik untuk mencari di seluruh dokumentasi.