Lewati ke konten

Edge

@gaman/edge adalah middleware resmi untuk integrasi Edge Engine sebagai view engine di framework GamanJS. Dengan ini Anda bisa merender file template .edge (atau ekstensi lain) langsung dari controller/handler menggunakan sistem view bawaan GamanJS.

Terminal window
npm install @gaman/edge edge.js

Tambahkan middleware ejs ke aplikasi Anda:

index.ts
import { edge } from "@gaman/edge";
defineBootstrap((app) => {
app.mount(
edge({
viewPath: "src/views",
})
);
});

Buat file src/views/index.edge

<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>Hello, {{ name }}</h1>
</body>
</html>

Di route handler, gunakan Res.render():

AppRoutes.ts
route.get("/", (ctx) => {
return Res.render("index", {
title: "My First EJS Page",
name: "GamanJS 🚀"
});
});

disini kita menyediakan yang namanya composeEdgeHandler yang berfungsi untuk membuat template dan environment edge lainnya.

buat file namanya bebas

EdgeHandler.ts
import { composeEdgeHandler } from "@gaman/edge"
export default composeEdgeHandler((edge) => {
edge.global('config', {
colorScheme: 'dark',
menu: [],
socialLinks: [],
});
});

lalu di index.ts lakukan ini.

index.ts
import { EdgeHandler } from "./EdgeHandler.ts"
defineBootstrap(async (app) => {
app.mount(
edge({
handler: EdgeHandler
})
)
});
NamaTipeDefaultDeskripsi
viewPathstring"src/views"Direktori root tempat template EJS berada.
handler(edge) => {}undefinedhandler edge

Silakan baca dokumentasi lebih detail tentang Edge.js