This is a Koa middleware wrapper for Pug template engine.
Compare to koa-pug, this middleware has the following features:
- More elegant API, no need to pass
app
toPug
constructor. - Follows KISS principle, keep more things to Pug.
- Support
koa@2
only. - Support
pug@3
only. - Add
context.setLocal
method, so you can set locals in middleware.
npm install -s koa-pug-middleware
Use Pug options to initialize the middleware:
import * as Koa from 'koa';
import * as pug from 'koa-pug-middleware';
const app = new Koa();
app.use(pug({
debug: false,
cache: true, // NOTE: set to false in development
pretty: false,
compileDebug: false,
locals: {
globalFoo: 'bar' // You can set global locals here
},
basedir: './views'
}));
Parameters:
key
- The key of the local variable.value
- The value of the local variable.
app.use(async (ctx) => {
ctx.setLocal('foo', 'bar'); // You can set locals here
});
Parameters:
view
- The path of the view file. Relative to thebasedir
option. You can omit the extension name.locals
- The locals for the view.options
- The options for the view. See Pug options. Will override the options in the middleware.
app.use(async (ctx) => {
await ctx.render('index', {
foo: 'bar' // You can set locals here
});
});