The*_*ing 7 javascript performance node.js express pug
在生产中使用jade-lang时,我是否可以从某种形式的中间件中获益,该中间件预先编译所有.jade视图,然后在res.render中使用它们?或者当你做NODE_ENV =生产时会自动发生吗?
我只是在探索如何在生产中加速玉渲染的选项.
Flo*_*ent 12
当Jade编译模板时,模板会被缓存.在生产环境中,如果预热缓存,则无需预编译模板.即使不这样做,模板也会在第一次编译后进行缓存.
我建议你看看Jade的源代码,以便更好地理解它是如何工作的.
exports.render = function(str, options, fn){
// ...
var path = options.filename;
var tmpl = options.cache
? exports.cache[path] || (exports.cache[path] = exports.compile(str, options))
: exports.compile(str, options);
return tmpl(options);
};
Run Code Online (Sandbox Code Playgroud)
资料来源: https ://github.com/visionmedia/jade/blob/1.3.0/lib/jade.js#L255-L259
exports.renderFile = function(path, options, fn){
// ...
options.filename = path;
var str = options.cache
? exports.cache[key] || (exports.cache[key] = fs.readFileSync(path, 'utf8'))
: fs.readFileSync(path, 'utf8');
return exports.render(str, options);
};
Run Code Online (Sandbox Code Playgroud)
资料来源: https ://github.com/visionmedia/jade/blob/1.3.0/lib/jade.js#L291-L295
| 归档时间: |
|
| 查看次数: |
1360 次 |
| 最近记录: |