Home

Awesome

@koa/ejs

Koa ejs view render middleware. support all feature of ejs.

Build Status

NPM

Usage

Example

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.

Settings

Layouts

@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>

Include

Supports ejs includes.

<div>
  <%- include ('user.html') -%>
</div>

State

Support ctx.state in koa.

TypeScript

If you're project based on TypeScript, we recommend using @types/koa-ejs until we start supporting it in the upcoming releases.

Licences

(The MIT License)