1.0.13 • Published 9 years ago
koa-grace-views v1.0.13
koa-views
Template rendering middleware for koa-grace.(Forked from https://github.com/queckezz/koa-views.)
Installation
$ npm install koa-grace-viewsTemplating engines
As of right now, koa-views is using consolidate under the hood.
Example (koa 1.x)
var views = require('koa-views');
// Must be used before any router is used
app.use(views(__dirname + '/views', {
map: {
html: 'underscore'
}
}));
app.use(function* (next) {
this.state = {
session: this.session,
title: 'app'
};
yield this.render('user', {
user: 'John'
});
});Example (koa 2.x)
This module won't get converted to koa 2 until v8 lands async-await. If you want to use koa 2 you need to wrap this module with koa-convert and build your code with babel 6. View this issue if you run into problems.
app.use(convert(views(__dirname, {
map: {
html: 'nunjucks'
}
})))
app.use(async (ctx, next) => {
ctx.render = co.wrap(ctx.render.bind(ctx))
await next()
})
app.use(async (ctx, next) => {
await ctx.render('./views/user.html')
})For more examples take a look at the tests
API
views(root, opts)
root: Where your views are located. All views yourender()are relative to this path.opts(optional)opts.extension: Default extension for your views
// instead of this
yield this.render('user.jade')
// you can
yield this.render('user')opts.map: map extension to an engine
app.use(views(__dirname, { map: {html: 'nunjucks' }}))
// render `user.html` with nunjucks
app.use(function *() {
yield this.render('user.html')
})Debug
Set the DEBUG environment variable to koa-views when starting your server.
$ DEBUG=koa-viewsLicense
1.0.13
9 years ago
1.0.12
9 years ago
1.0.11
9 years ago
1.0.10
9 years ago
1.0.8-rc.3
10 years ago
1.0.8-rc.2
10 years ago
1.0.8-rc.1
10 years ago
1.0.8
10 years ago
1.0.9
10 years ago
1.0.7
10 years ago
1.0.6
10 years ago
1.0.5
10 years ago
1.0.4
10 years ago
1.0.3
10 years ago
1.0.2
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago