# ejs **Repository Path**: mirrors_koajs/ejs ## Basic Information - **Project Name**: ejs - **Description**: a koa view render middleware, support all feature of ejs - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-09 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @koa/ejs > Koa ejs view render middleware. support all feature of [ejs](https://github.com/mde/ejs). [](http://travis-ci.org/koajs/ejs) [](https://nodei.co/npm/@koa/ejs/) ## Usage ### Example ```js 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](https://github.com/koajs/ejs/tree/master/example). ### Settings - root: view root directory. - fs: file system module with same Node.js fs interface (default `Node.js fs module`). - layout: global layout file, default is `layout`, set `false` to disable layout. - viewExt: view file extension (default `html`). - cache: cache compiled templates (default `true`). - debug: debug flag (default `false`). - delimiter: character to use with angle brackets for open / close (default `%`). - async: When true, EJS will use an async function for rendering. Depends on async/await support in the JS runtime. - outputFunctionName: Set to a string (e.g., 'echo' or 'print') for a function to print output inside scriptlet tags. ### 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. ```