这个网络应用程序从网络上检索图像,特别是favicon。因此,每次刷新页面时,都会向网站发出请求,并再次获取图标。
这是我传递URL的功能; favicon()
是a library,它会从网站/网页上删除它,然后将其返回。
router.get('/feedicon', function(req, res) {
favicon(req.query.url, function(err, icon) {
if (icon) {
res.send(icon);
} else {
res.status(500).send('No icon found');
}
});
});
现在,如果找到有效的icon
文件,那么
/cache
目录/创建它(如果不可能则返回错误); icon
目录中是否有/cache
; 我宁愿不安装lib来做到这一点,事实上我磕磕绊绊的是最好的方式来获得"唯一的时间戳"缓存的图像,以确保提供正确的文件..?
如果我use a hash对文件进行身份识别,我也会担心表演。?
快速缓存此类文件的最佳做法是什么?我很难搜索它,几乎没有人需要在NodeJs / express中缓存动态图像..?
答案 0 :(得分:2)
这是一个简单的示例,用于缓存我存储图像的文件夹public
const cacheTime = 86400000 * 30 // the time you want
const path = require('path')
.
.
.
.
app.use(express.static(path.join(__dirname, 'public'), {
maxAge: cacheTime
}))