Настройка Cache-Control для каждого файла с помощью ExpressJS
Есть ли способ установить свойство Cache-Control для файлов в вашем приложении ExpressJS? Я хотел бы получить детальный контроль над кэшированием файлов в моем приложении... как мне этого добиться? Каковы лучшие практики в отношении Cache-Control?
1 ответ
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
.