当使用nginx部署前端应用时,我们想达到以下两个目的:
一、可以通过浏览器缓存提升页面加载速度
二、应用更新后用户可以立马看到效果(而不是通过清缓存的方式)
前端项目打包的时候一般使用文件内容的哈希值作为文件名的一部分(比如webpack),所以我们更改文件内容后打包后文件名也会更改,不需要考虑缓存滞后问题,可以大胆使用浏览器强缓存以提高加载速度,唯一需要关心的就是index.html文件,因为他的文件名是不会变的,那就让他自己使用协商缓存就好了。
配置如下:
location /test{
alias test;
index index.html index.htm;
if ($request_filename ~* \.(htm|html)$)
{
add_header Cache-Control "no-cache";
}
}