Express/Jade görünüm önbelleği ile bazı komik şeyler içine koşuyorum. Denetleyici MongoDB'den Mongoose ile bir makale alır ve res.render işlevine uzatır. Ancak, birkaç dakika çalıştıktan sonra Express, o rotaya yapılan tüm istekler için aynı derlenmiş şablonu sunmaya başlar. Bu paylaşılan bile olur. Çeşitli şablonlarda kullanılan içerir.ifade görünümü önbellek hareketli komik
Veritabanı, doğru makaleleri getiriyor ve şablona rastgele bir dizeyi iletirsem farketmez, her zaman aynı çıktıyı alırım.
Bu
kontrolör fonksiyonudur: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
});
}
});
};
Ve bu rota var:
Ben üretim veya geliştirme modunda çalıştırıyorum bakılmaksızın aynı şeyler olurapp.get('/articles/:id', articles.show);
.
Express/Jade ile bu tür bir torbanın içine giren herhangi biri var mı?
"Aynı derlenmiş şablon" ile, aynı * rendered * şablonunu mu kastediyorsunuz? Görünüm önbelleği olduğundan emin değilim, çünkü bu, dev modunda çalışırken etkin değil (açık bir şekilde etkinleştirmediyseniz). Ayrıca, görünüm önbelleği yalnızca derlenmiş (ancak gösterilmemiş) şablonları saklar, yine de her istek için ayrı ayrı oluşturulacaktır. Uygulama ayarlarınız neye benziyor? Soruna neden olabilecek başka bir ara yazılım (veya Düğümün önündeki bir proxy sunucusu)? – robertklep
@robertklep ile katılıyorum. Önbelleğe alma işlemini yapan sanırım. Önbellek başlığını görürseniz yanıtın başlıklarını kontrol edebilir misiniz? Ayrıca, aşağıdaki başlıkları sunucu tarafında ayarlamayı deneyin. Cache-Control: Pragma-revalidate gerekir no-cache, hayır-mağaza,: no-cache geçerlilik tarihi: Bu sizin için çalışıyorsa 0 gör http: //stackoverflow.com/questions/49547/making- emin-a-web sayfası-değil-tüm tarayıcılar için önbelleğe-tarayıcılar –