浏览器缓存表达nodejs

时间:2017-06-08 14:06:03

标签: node.js express caching browser-cache

我正在尝试在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}));

怎么了?

1 个答案:

答案 0 :(得分:1)

问题是express.staticmaxAge选项使用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();
});