Lewati ke konten

Struktur Proyek

my-app/
├── src/
│ ├── routes/ # Halaman dan endpoint API
│ │ ├── +page.svelte
│ │ ├── +layout.svelte
│ │ └── about/
│ │ ├── +page.svelte
│ │ └── +page.server.ts
│ ├── lib/ # Kode bersama (di-alias sebagai $lib)
│ │ └── utils.ts
│ ├── app.css # Gaya global + token Tailwind
│ ├── app.d.ts # Deklarasi tipe
│ └── hooks.server.ts # Middleware (opsional)
├── public/ # Aset statis (disajikan apa adanya)
├── dist/ # Output build (diabaikan git)
├── .bosia/ # File yang dihasilkan (diabaikan git)
├── .env # Variabel lingkungan
└── package.json
FileKegunaan
+page.svelteKomponen halaman — dirender pada URL rute tersebut
+layout.svelteLayout — membungkus halaman dan layout anak
+page.server.tsServer loader — menjalankan load() dan metadata() di server
+layout.server.tsLayout loader — data yang dibagikan ke semua rute anak
+server.tsEndpoint API — mengekspor fungsi HTTP verb
+error.svelteHalaman error — dirender ketika loader melempar kesalahan
hooks.server.tsMiddleware — mencegat setiap request
app.cssGaya global — direktif Tailwind dan design token
AliasMengarah keContoh
$libsrc/lib/import { cn } from "$lib/utils"

Direktori .bosia/ dibuat saat dev dan build dijalankan. Direktori ini berisi:

  • routes.ts — manifest rute (pemetaan rute halaman dan API)
  • types/ — tipe TypeScript yang dihasilkan otomatis (PageData, ActionData, dll.)
  • env.server.ts / env.client.ts — modul variabel lingkungan yang bertipe

File-file ini diabaikan git. Semuanya dihasilkan ulang setiap kali Anda menjalankan dev atau build.