在PHP中,我曾經使用output buffering to cache the output並將其另存爲html文件。我想知道是否可以在node.js中完成相同的操作。以下是我的路由文件:是否有可能將node.js視圖輸出緩存爲html文件?
module.exports = {
index: function(section,page,req,res){
var l = res.locals,
db = l.db,
Promise = l.Promise,
Promise.props({
my: db.db.query('CALL fetchdata()'),
amba: db.db.query("CALL fetchanother()")
}).then(function(obj){
return res.render(section+'.html',obj)
}).then(function(data){
console.log(data);
l.fs.writeFile('index.html', data)
}).catch(function (error) {
console.log(error);
})
}
};
return res.render(section+'.html',obj)
不起作用。 console.log(data)
在控制檯中返回「未定義」,並且該html文件除「單詞」之外沒有任何內容。我也試過這個:
.then(function(obj){
var cache
res.render(section+'.html',obj,function(k,content){
res.send(content)
cache = content
})
return cache;
}).then(function(data){
console.log(data);
l.fs.writeFile('index.html', data)
})
它仍然是未定義的。有沒有辦法將視圖結果緩存爲html文件?
注意,快遞已經實現的觀點緩存,雖然它通常禁用用於開發 - ['「view cache」'選項](http://expressjs.com/4x/api.html#app.set)。 –