在ExpressJS应用程序中,是否有一种方法可以针对每个文件设置Cache-Control属性?我希望能够精细地控制我的应用程序中文件的缓存...我该如何实现这一点? 在Cache-Control方面有哪些最佳实践?
在ExpressJS应用程序中,是否有一种方法可以针对每个文件设置Cache-Control属性?我希望能够精细地控制我的应用程序中文件的缓存...我该如何实现这一点? 在Cache-Control方面有哪些最佳实践?
app.use(function (req, res, next) {
if (req.url.match(/* some filter */)) {
res.setHeader('Cache-Control', ...)
} else if (req.url.match(/* some filter */)) {
res.setHeader('Cache-Control', ...)
}
next()
})
app.use(express.static(__dirname + '/public'))
这个帖子已经很老了,但是有一个更简单的方法可以在静态文件上实现基本的缓存控制。只需像这样向内置中间件函数express.static()
添加一个选项对象:
let options = {
maxAge: "1d"
}
app.use(express.static(__dirname + '/public', options))
这将默认为所有静态资源启用缓存控制。它会将Cache-Control
头设置为public, max-age=86400
。