6
在生產中使用jade-lang時,我是否會從某種形式的中間件中受益,該中間件會預編譯所有.jade視圖,然後在水庫中使用它們。呈現?或者當你做NODE_ENV =生產時會自動發生嗎?在生產中預編譯玉石模板是否有益
我只是在探索如何加快生產中的玉石渲染的選項。
在生產中使用jade-lang時,我是否會從某種形式的中間件中受益,該中間件會預編譯所有.jade視圖,然後在水庫中使用它們。呈現?或者當你做NODE_ENV =生產時會自動發生嗎?在生產中預編譯玉石模板是否有益
我只是在探索如何加快生產中的玉石渲染的選項。
當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);
};
來源: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);
};
來源:https://github.com/visionmedia/jade/blob/1.3.0/lib/jade.js#L291-L295
非常感謝。我將會更好地潛入源代碼:) – TheThing