2014-03-06 10 views
6

vorzukompilieren Wenn ich jade-lang on production nutze, würde ich von einer Form einer Middleware profitieren, die alle .jade Views vorkompiliert und dann in res verwendet. machen? Oder geschieht das automatisch, wenn Sie NODE_ENV = Produktion machen?Wäre es vorteilhaft Jade Templates auf die Produktion in Express

Ich erkunde einfach Optionen, wie Jade-Rendering bei der Produktion zu beschleunigen.

Antwort

11

Wenn Jade die Vorlage kompiliert, wird die Vorlage zwischengespeichert. Wenn Sie in der Produktionsumgebung den Cache aufwärmen, müssen Sie die Vorlage nicht vorkompilieren. Auch wenn Sie dies nicht tun, wird die Vorlage nach der ersten Kompilierung zwischengespeichert.

Ich empfehle Ihnen, Jade Quellcode zu sehen, um besser zu verstehen, wie es funktioniert.

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); 
}; 

Quelle: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); 
}; 

Quelle:https://github.com/visionmedia/jade/blob/1.3.0/lib/jade.js#L291-L295

+0

Vielen Dank. Ich werde besser in den Quellcode tauchen :) – TheThing

Verwandte Themen