我想使用Express.js将Jade模板的局部视图呈现给变量。
通常,您直接将局部视图呈现给响应对象:
response.partial('templatePath', {a:1, b:2, c:3})
但是,由于我在Socket.io服务器事件中,因此没有“响应”对象。
有没有一种优雅的方法可以在 不 使用响应对象的 情况下 将Jade部分视图呈现给变量?
您可以手动编译Jade模板。
var jade = require('jade'); var template = require('fs').readFileSync(pathToTemplate, 'utf8'); var jadeFn = jade.compile(template, { filename: pathToTemplate, pretty: true }); var renderedTemplate = jadeFn({data: 1, hello: 'world'});