客户端浏览器缓存未更新

Blade 未结 2 4204
杜波
杜波 2021-01-26 10:44

更新前端页面后,客户端浏览器未更新,必须ctrl+F5才能显示最新的,该情况能否不需要客户手动操作啊?


对于生产环境确实不适用,如果通过加版本号操作是否会方便呢?

目前静态资源还做了cdn的,但是客户端不刷新不是cdn造成的。



麻烦提供下解决思路,是代码变动?还是nginx变动还是哪里变动

2条回答
  •  admin
    admin (楼主)
    2021-01-26 10:56

    可以通过nginx配置 no-cache 关闭缓存,以及webpack配置 版本号时间戳 来减少缓存,具体可以参考:https://blog.csdn.net/qq_28827635/article/details/109602150


    nginx的location内增加如下配置:


        if ($request_filename ~* .*\.(?:htm|html)$)

         {

             add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";

         }

         if ($request_filename ~* .*\.(?:js|css)$)

         {

             expires      7d;

         }

         if ($request_filename ~* .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$)

         {

             expires      7d;

         }


    webpack优化配置参考如下,一般情况css不配置也没事,主要是js的配置:

    image.png

提交回复