23 lines
700 B
JavaScript
23 lines
700 B
JavaScript
|
"use strict";
|
||
|
|
||
|
var path = require('path');
|
||
|
module.exports = function express(env, app) {
|
||
|
function NunjucksView(name, opts) {
|
||
|
this.name = name;
|
||
|
this.path = name;
|
||
|
this.defaultEngine = opts.defaultEngine;
|
||
|
this.ext = path.extname(name);
|
||
|
if (!this.ext && !this.defaultEngine) {
|
||
|
throw new Error('No default engine was specified and no extension was provided.');
|
||
|
}
|
||
|
if (!this.ext) {
|
||
|
this.name += this.ext = (this.defaultEngine[0] !== '.' ? '.' : '') + this.defaultEngine;
|
||
|
}
|
||
|
}
|
||
|
NunjucksView.prototype.render = function render(opts, cb) {
|
||
|
env.render(this.name, opts, cb);
|
||
|
};
|
||
|
app.set('view', NunjucksView);
|
||
|
app.set('nunjucksEnv', env);
|
||
|
return env;
|
||
|
};
|