我想在 sailsjs 应用中完全重新定义 res.render 方法: 我的模板引擎与合并不兼容。
我决定使用 hook ,但无法理解,我如何编写自己的 res.render 的实现。
有任何想法或建议吗?
谢谢!
答案 0 :(得分:0)
你可以像这里lib/hooks/views/index.js一样(在你的风帆钩中)
sails.on('router:before', function() {
sails.router.bind('/*', function(req, res, next) {
// here you can reimplement the res.render method, of example:
res.render = function render(data) {
// For access `req` data in your template engine,
// many useful info stored here like:
// req.options.controller – current `controller`
// req.options.action – current `action`
data.req = req;
var html = yourTemplateEngineRender(data);
res.set({
'Content-Type': 'text/html',
'Content-Length': Buffer.byteLength(html, 'utf8')
});
res.send(html);
}
}, 'all');
});
请参阅我的钩子,它允许bem渲染风帆:sails-hook-bem-render