在express上预编译生成的jade模板会有好处吗?

在生产中使用jade-lang的时候,我是否会从某种forms的中间件中受益,这些中间件会预编译所有的.jade视图,然后在res.render中使用它们? 或者当你做NODE_ENV =生产时会自动发生吗?

我只是在探索如何加速生产中的玉石渲染的选项。

当Jade编译模板时,模板被caching。 在生产环境中,如果预热caching,则不需要预编译模板。 即使你不这样做,模板也会在第一次编译之后被caching。

我build议你看看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