Koa ejs view render middleware. support all feature of ejs.
const Koa = require("koa");
const render = require("@koa/ejs");
const path = require("path");
const app = new Koa();
render(app, {
root: path.join(__dirname, "view"),
layout: "template",
viewExt: "html",
cache: false,
debug: true,
});
app.use(async function (ctx) {
await ctx.render("user");
});
app.listen(7001);
Or you can checkout the example.
Node.js fs module).layout, set false to disable layout.html).true).false).%).@koa/ejs supports layouts. The default layout file is layout. If you want to change default layout file, use settings.layout. Also you can specify layout by options.layout in await ctx.render.
Also you can set layout = false to disable the layout.
<html>
<head>
<title>koa ejs</title>
</head>
<body>
<h3>koa ejs</h3>
<%- body %>
</body>
</html>
Supports ejs includes.
<div>
<%- include ('user.html') -%>
</div>
Support ctx.state in koa.
If you're project based on TypeScript, we recommend using @types/koa-ejs until we start supporting it in the upcoming releases.