programacion preprocesador plantillas node jade index conversor compile javascript performance node.js express pug

javascript - preprocesador - ¿Te beneficiaría precompilar las plantillas de jade en producción en expreso?



programacion pug (1)

Cuando Jade compila la plantilla, la plantilla se almacena en caché. En el entorno de producción, si calienta la memoria caché, no es necesario precompilar la plantilla. Incluso si no lo hace, la plantilla se almacenará en caché después de su primera compilación.

Te recomiendo que eches un vistazo al código fuente de Jade para comprender mejor cómo funciona.

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

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

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

Al usar jade-lang en la producción, ¿me beneficiaría si tuviera algún tipo de middleware que precompila todas las vistas .jade y luego las use en res.render? ¿O eso sucede automáticamente cuando haces NODE_ENV = producción?

Simplemente estoy explorando opciones sobre cómo acelerar el renderizado de jade en la producción.