框架:node.js / express.js / Jade
问题:在生产环境中,当一个玉文件由express,jade缓存呈现时,所以未来的渲染会更快。
当我启动node.js应用程序时,如何预编译(或)预呈现(如预热)所有jade文件,以便在请求开始进入时它已经在缓存中...
我可以使用文件夹递归,我只需要知道如何预编译(或)预渲染。
这可能吗?
答案 0 :(得分:6)
Jade内置了模板预编译和缓存。
只需为cache: true
指定jade.compileFile
选项,然后遍历所有模板文件。
var options = {cache: true};
// iterate/recurse over your jade template files and compile them
jade.compileFile('./templates/foo.jade', options);
// Jade will load the compiled templates from cache (the file path is the key)
jade.renderFile('./templates/foo.jade');
答案 1 :(得分:1)
如果您不使用任何参数,可以使用grunt或gulp将jade模板直接编译为HTML,并使其监视文件修改
从命令行尝试:
jade view/map-beacons.jade -D
如果您确实需要使用参数,我会使用像Andrew Lavers这样的答案。
compileFile
会返回一个可用于传递参数的函数,例如fn({ myJsVar: 'someValue' })
命令行中还有一个客户端选项,但我没有找到任何用途:
jade view/map-beacons.jade -cD
答案 2 :(得分:0)