Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Mode autoload — NexaRoute

Memuat modul template saat navigasi tanpa mendaftarkan setiap nama di App.js. Pelajari mode manual terlebih dahulu.

1. Aktivasi

Tambahkan token "autoload" di array route (boleh digabung dengan rute eksplisit):

route: ["beranda", "autoload"],

beranda terdaftar manual; about, blog, data, dll. cukup lewat file template + tautan. Tidak ada routes.manifest.json, scan PHP, atau daftar nama di file lain — logika di assets/modules/Route/NexaRoute.js.

2. Syarat modul

Rute URL File (relatif appRoot) Export function
/data templates/data.js data
/about templates/about.js about

Di dalam export: panggil route.register(page, handler). Parameter page sama dengan path dasar modul (mis. "data").

export async function data(page, route) { route.register(page, async (routeName, container, routeMeta, style, nav = {}) => { container.innerHTML = `<p>Route: ${routeName}</p>`; }); }

3. URL bertingkat + nav.subRoute

Autoload tidak membuat satu file per segmen URL. NexaRoute mencari file template terpanjang yang ada; sisa path menjadi nav.subRoute.

URL File Export nav.subRoute
/page/contoh/v1/token/dll templates/page/contoh.js page_contoh v1/token/dll
/docs/panduan/bab-1 templates/docs/panduan.js docs_panduan bab-1
  • File: templates/{segment1}/{segment2}.js untuk dasar segment1/segment2.
  • Export: slash → underscore (page/contohpage_contoh).
  • Handler: routeName = path penuh; nav.subRoute = sisa setelah path dasar.
export async function page_contoh(page, route) { route.register(page, async (routeName, container, routeMeta, style, nav = {}) => { const sub = nav.subRoute || ""; container.innerHTML = `<p>Rute: ${routeName}</p><p>Sub: ${sub}</p>`; }); }
Catatan: Autoload mem-probe path dari yang terpanjang ke terpendek sampai file ada — bukan templates/page/contoh/v1/token/dll.js.

4. Menambah halaman baru

  1. Pastikan route memuat "autoload".
  2. Buat templates/kontak.js dengan export async function kontak(page, route) { … }.
  3. Tambah tautan <a href="/kontak"> — tidak perlu mengubah App.js.

Lihat juga: Route di App.js, Sub-route dinamis, Panduan SPA.