Use swig Template Engine.
NOTE: swig is NOT MAINTAINED.
Docs: http://node-swig.github.io/swig-templates
$ npm i egg-view-swig --save
// {app_root}/config/plugin.js
exports.swig = {
enable: true,
package: 'egg-view-swig',
};
Set mapping in config
// {app_root}/config/config.default.js
exports.view = {
defaultViewEngine: 'swig',
mapping: {
'.tpl': 'swig',
},
};
// {app_root}/config/config.default.js
exports.swig = {
cache: true,
};
Set filter
// {app_root}/app/extend/filter.js
exports.hello = name => `hi, ${name}.`;
// {app_root}/app/controller/{your_controller}.js
exports.home = function* (ctx) {
yield ctx.render('home.tpl', { name: 'egg' });
};
// home.tpl
{{ name | hello }}
Render in controller
// {app_root}/app/controller/test.js
exports.home = function* (ctx) {
yield ctx.render('home.tpl', { name: 'swig view' });
};
see config/config.default.js for more detail.
Please open an issue here.