我在 express/Jade 中的视图缓存中遇到了一些有趣的东西。控制器通过 Mongoose 从 MongoDB 获取一篇文章并将其交给 res.render 函数。然而,在运行几分钟后,Express 开始为对该路由的所有请求提供相同的编译模板。这甚至发生在各种模板中使用的共享 .jade 包含中。
数据库正在获取正确的文章,我是否将一些随机字符串传递给模板并不重要,我总是得到相同的输出。
这是控制器功能:
exports.show = function(req, res) {
var articleId;
articleId = req.params.id;
Article.findOne({
_id: articleId
}).populate('author').exec(function(err, article) {
if (err) {
console.log(err);
} else {
res.render('articles/show', {
article: article,
articleId: article.id
});
}
});
};
这就是路线:
app.get('/articles/:id', articles.show);
无论我是在生产模式还是开发模式下运行,都会发生同样的事情。
有人用 Express/Jade 遇到过这种 toruble 吗?