Struktur & arsitektur riset / eletronDev
Gambaran folder tipikal dan peran tiap lapisan antara Electron, Express, dan SPA Nexa.
Electron · Express · NexaJS
Struktur proyek
eletronDev/
├─ electron/
│ ├─ main.js
│ ├─ preload.js
│ ├─ csp.js
│ ├─ electronShell.js
│ └─ components/
├─ assets/
│ └─ modules/
│ └─ Electron/
│ └─ NexaElectron.js
├─ templates/
├─ index.html
├─ App.js
├─ index.js
├─ config.js
├─ electron.js
└─ package.jsonArsitektur singkat
| Lapisan | Peran |
|---|---|
electron/ |
Modul desktop: main.js (proses utama),
preload.js (IPC ke renderer),
csp.js (CSP untuk respons HTML dari
index.js). package.json → main menunjuk ke
electron.js di akar; berkas itu memuat
electron/main.js (dev) atau resources/electron/
(build).
|
index.js |
Express (ESM): static, injeksi CSP + window.__NEXA_ENDPOINT__
di awal <head>, proxy API, fallback SPA.
|
electron/electronShell.js |
Shell desktop: opsi jendela utama + template menu klik kanan native. |
App.js |
Entry SPA NexaRoute: routing, worker, service worker (opsional). |
templates/ |
Halaman per rute Nexa. |
electron/components/ |
Handler renderer untuk item menu konteks (ESM); disajikan sebagai
/nexa-context/* lewat index.js.
|
assets/modules/Electron/NexaElectron.js |
Helper renderer untuk jendela sekunder + handoff; API
NXUI.NexaElectron — lihat
Jendela tambahan.
|
Alur dev: npm run dev → Electron memuat index.js (server) →
memuat URL dari config.js → renderer mengeksekusi App.js
dari index.html.