Koa view render based on Swig, support tags, filters, and extensions.
v2.x
app.context.render = render(settings);
v1.x
render(app, settings);
npm install koa-swig
ctx.state
from koa 0.14.ctx.flash
.var koa = require('koa');
var render = require('koa-swig');
var app = koa();
app.context.render = render({
root: path.join(__dirname, 'views'),
autoescape: true,
cache: 'memory', // disable, set to false
ext: 'html',
locals: locals,
filters: filters,
tags: tags,
extensions: extensions
});
app.use(function *() {
yield this.render('index');
});
app.listen(2333);
// koa v2.x
var co = require('co');
app.context.render = co.wrap(render({
// ...your setting
writeBody: false
}));
app.use(async ctx => ctx.body = await ctx.render('index'));
filters: swig custom filters
tags: swig custom tags
extensions: add extensions for custom tags
ext: default view extname
root: view root directory
writeBody: default(true) auto write body and response
render.swig.setLocals
render.swig.getLocals
MIT