首页 > 解决方案 > 更换服务器后,部分用户遇到白页?

问题描述

更换服务器后,部分用户想进入网站时遇到白页。浏览器清除缓存后即可进入。我怎么能在没有用户注意的情况下做到这一点?

或者您有其他解决问题的建议吗?

当我检查它时,似乎缓存目录在 jenkins 作业中输入为 ~/.npm 或 %APP_DATA%\npm-cache 。当我检查服务器时,有 ~/.npm/_cacache 目录。里面的 tmp 目录是更新的并且是空的。但其他目录有过时的记录(content-v2 和 index-v5)

标签: reactjscachingserverdns

解决方案


这主要是因为index.html文件缓存在客户端。在 HTML 文件中,它尝试导入一些 JS 文件。我不确定您使用的是哪个 React 框架,但大多数(如果不是全部)将生成捆绑的 JS 文件,文件名中带有哈希,例如component-js-accf25d88e9116ff2515.js. 这确保了每个构建中的文件名总是不同的。

现在,如果客户端已缓存index.html,它将包含您的 JS 包的旧文件名。当您更新应用程序时,那些旧文件将不再存在。如果您使用的是客户端框架,如create-react-app,则不会获取任何 JS 包并导致空的 HTML 内容,即白屏。


推荐阅读