1.0.1 • Published 9 years ago
koa-views-templates v1.0.1
koa-views
Template rendering middleware for koa.
Note: This master branch is for koa's upcoming version
koa@2. Take a look at thev1.xbranch forkoa@1.Note: This is a fork of the koa-views to add support for templates.
Installation
$ npm install koa-views-templatesTemplating engines
koa-views is using consolidate under the hood.
Example
var views = require('koa-views-templates');
// Must be used before any router is used
app.use(views(__dirname + '/views', {
map: {
html: 'underscore'
},
template: 'mytemplate.ejs'
}));
app.use(async function (ctx, next) {
ctx.state = {
session: this.session,
title: 'app'
};
await ctx.render('user', {
user: 'John'
});
});For more examples you can take a look at the tests.
API
views(root, opts)
root: Where your views are located. Must be an absolute path. All rendered views must be relative to this pathopts(optional)opts.extension: Default extension for your views
Instead of providing the full file extension you can omit it.
app.use(async function (ctx) {
await ctx.render('user.jade')
})vs.
app.use(views(__dirname, { extension: 'jade' }))
app.use(async function (ctx) {
await ctx.render('user')
})opts.map: Map a file extension to an engine
In this example, each file ending with .html will get rendered using the nunjucks templating engine.
app.use(views(__dirname, { map: {html: 'nunjucks' }}))
// render `user.html` with nunjucks
app.use(async function (ctx) {
await ctx.render('user.html')
})Debug
Set the DEBUG environment variable to koa-views when starting your server.
$ DEBUG=koa-views