express渲染页面一共有三种方式:将页面作为静态资源 express.static、res.sendFile、res.render。
其中前两种方式都会有默认缓存 Cache-Control: public, max-age=0
。
如果你正在学习缓存这一章,那这个坑不要踩。 可以试试原生的node启服务
如果你想要继续使用express,还想借此联系缓存这一章,你可以这么做,express.static关闭默认缓存配置+使用模板
app.use(express.static('assets', { // 给静态资源设置响应头
etag: false, //移除默认配置项
cacheControl: false, //移除默认配置项
lastModified: false, //移除默认配置项
setHeaders: (res, path, stat) => {
res.setHeader('Cache-Control', 'no-store'); //自己设置头部信息
}
}))
另外 模板的res.render 返回响应头虽然没有Cache-Control
但是它又有其它默认缓存值干扰
标签:Control,Cache,res,express,默认,缓存
From: https://www.cnblogs.com/dingshaohua/p/18263642