想问下各位 nginx 怎么配置 index.html 不缓存呢?(其他静态文件要缓存)

前端每次刷新版本的时候都会出现白屏的问题,搜了一些答案,说是 index.html 文件被缓存了,项目是基于 Vue 的,想问下怎么配置 nginx,才能不缓存 index.html 只缓存其他静态文件(css、js、img)

nginx
75 views
Comments
登录后评论
Sign In
·

nginx 我记得可以配置 add_header 解决,搜索一下用法

·

SPA 应用配置起来有点麻烦,你可以试下 nginx map 模块语法,cache.conf 文件:

map $sent_http_content_type $custom_cache_control {
  default                     "max-age=186400";
  ~*text/html                 "no-store, no-cache, must-revalidate";
}

add_header Cache-Control $custom_cache_control;

在 nginx.conf 文件里面 include 进来就可以了:

http {
  ...
  include cache.conf;
}

这种配置方式就是更加返回数据类型独立配置缓存,可以针对不同文件类型进一步定制,比如 css 和 js 不同的缓存失效时间。