如题,请各位指教!
@captainblue2013 我想开启的是静态页面缓存,把渲染后的结果保存起来。我看到ejs里面有开启缓存的设置,但不知道在Express中如何处理。如果有做过的,希望能帮我解答下。
Caching
EJS ships with a basic in-process cache for caching the intermediate JavaScript
functions used to render templates. It’s easy to plug in LRU caching using
Node’s lru-cache
library:
var ejs = require('ejs')
, LRU = require('lru-cache');
ejs.cache = LRU(100); // LRU cache with 100-item limit
If you want to clear the EJS cache, call ejs.clearCache
. If you’re using the
LRU cache and need a different limit, simple reset ejs.cache
to a new instance
of the LRU.
去翻了下express的源码,
// set .cache unless explicitly provided
if (renderOptions.cache == null) {
renderOptions.cache = this.enabled('view cache');
}
// primed cache
if (renderOptions.cache) {
view = cache[name];
}
// view
if (!view) {
var View = this.get('view');
view = new View(name, {
// ...
http://expressjs.com/zh-cn/4x/api.html#app.render
The local variable cache is reserved for enabling view cache. Set it to true, if you want to cache view during development; view caching is enabled in production by default.