hugh 的个人博客

使用nginx作为spa的server

spa资源设置

  1. 文件名+hash
    用于客户端强制缓存 200(memory|disk cache)/304 (not modified)
  2. 提供入口文件html

nginx设置

server{
        server_name 127.0.0.1 localhost;
        listen 80;
        location / {
            root /opt/xxx/html;
            index index.html;
            try_files $uri $uri/ /index.html;
            if ($request_filename ~* .*\.(?:htm|html)$)
            {
                add_header Cache-Control "private, no-cache";
            }
        }
    }

L7: try_files, 用于在未指定location时默认选择的加载路径
L10: 用于对html文件强制不缓存

html文件为服务强制依赖的入口文件, 前端资源的版本都依赖这个html更新, 所以需要对该文件强制不缓存

cache-control常用值

  1. no-cache
    即每次请求相应的资源都走一遍服务器检查,如果文件没有发生变化,则返回304。 有变化则返回200+资源内容
  2. no-store
    强制不缓存了,每次都去服务器拿资源内容
  3. max-age
    设置缓存时长, 缓存未到期时直接读缓存

MDN详情


标题:使用nginx作为spa的server
作者:hugh0524
地址:https://blog.uproject.cn/articles/2020/05/19/1589882631037.html

0 浏览