IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> React项目发版后部分用户出现白屏现象 -> 正文阅读

[JavaScript知识库]React项目发版后部分用户出现白屏现象

项目场景:

正在维护一个稳定的售后系统,使用的是React框架,日常进行一些功能优化,隔一周迭代一个版本


问题描述

每次发版之后,会有少部分用户出现白屏的情况(感受一下),需要清除浏览器缓存,开无痕浏览或者重新加载才能正常访问
在这里插入图片描述


原因分析:

React打包生成的js文件名是哈希值,跟上次生成的文件名不重复。而index.html被缓存,对不上指向的js文件,所以页面没有渲染出来。index.html 被缓存有以下可能:

1.服务器缓存了入口文件index.html

打包生成的文件中,index.html文件名与上次相同,所以没有将原来的覆盖,服务器中的index.html没有被更新,这种情况下所有用户访问都会出现白屏。

由于只有少部分用户出现白屏的情况,可以确认不是服务器缓存了入口文件。

2.客户端(浏览器缓存机制)强缓存了index.html文件

在这里插入图片描述
强缓存导致客户端请求首页的时候,不经过服务器,直接读取缓存或者硬盘的index.html,发布生产后,服务器的js文件更新,而客户端的index.html中指向的js还是旧版,对应不上,导致页面渲染不成功白屏。
如图,由于浏览器的缓存机制,index.html请求没有经过服务器,直接走disk-cache,不管怎么刷新都没有办法获取最新的资源。


解决方案:

1.(前端)设置meta标签属性,禁止缓存

在这里插入图片描述
打包后的index.html已经存在这些配置,需要寻找其他解决方法

2.时间戳区分

//打包后给index.html文件名动态添加时间戳或随机数

不太科学

2.服务器配置

location = /index.html {
    add_header Cache-Control "no-cache, no-store";
}

服务器配置http协议头控制缓存
有关浏览器缓存机制参考:
https://blog.csdn.net/qq_46658751/article/details/123433335

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:45:33  更:2022-07-04 22:48:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/11 11:00:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码