我正在尝试在my website上设置浏览器缓存,但没有成功 我的server.js文件上有我的代码
app.use(function(req, res, next){
res.set({
Expires: new Date(Date.now() + 2592000000).toUTCString()
});
next();
})
app.use(express.static(path.join(__dirname, '../build/public'),{maxAge:2592000000}));
怎么了?
答案 0 :(得分:1)
问题是express.static的maxAge
选项使用Cache-Control标题。
maxAge:设置Cache-Control标头的max-age属性(以毫秒为单位)或字符串(ms格式)。
在Expires标题文档中,您可以找到以下内容:
如果响应中存在带有“max-age”或“s-maxage”指令的
Cache-Control
标头,则忽略Expires
标头
因此,可能的解决方案是仅使用Cache-Control标头。下一个代码段将此标头设置在快速中间件中:
app.use((req, res, next) => {
res.header('Cache-Control', 'max-age=2592000000');
next();
});