reactjs – 当index.html在create-react-app部署中发生更改时触发硬缓存刷新

reactjs – 当index.html在create-react-app部署中发生更改时触发硬缓存刷新,第1张

概述我目前正在使用“react-scripts build”构建和部署我的create-react-app站点,然后将构建目录的内容复制到apache web目录. web目录包含一个index.html文件,它通过脚本标记指向编译的React js文件,如下所示: <script type="text/javascript" src="/static/js/main.dd92ea42.js"></s 我目前正在使用“react-scripts build”构建和部署我的create-react-app站点,然后将构建目录的内容复制到apache web目录. web目录包含一个index.HTML文件,它通过脚本标记指向编译的React Js文件,如下所示:
<script type="text/JavaScript" src="/static/Js/main.dd92ea42.Js"></script>

这就是“react-script build”的所有内置行为.我发现即使创建了一个新的index.HTML文件,并且它有内容更改(该.Js文件的路径随每次部署而改变),浏览器仍然会缓存整个应用程序.即使对网站进行“硬”刷新也不会加载新内容.我必须完全删除缓存,然后重新加载任何要刷新的东西.

是否有一些技巧可以通过create-react-app缓存并通过react-scripts构建?我假设浏览器只查看index.HTML文件,如果它没有缓存应用程序,并且再也不会查看它?否则我不明白为什么在重新部署时它没有看到对index.HTML文件的更改.

那么,部署create-react-app应用程序的诀窍是什么,这样每个部署都会使浏览器的缓存失效,而用户不需要通过环节来获得新版本?

解决方法 这取决于您的部署管道的设置方式.可以在多个层进行缓存:

>如果你使用CDN,它可能会缓存在那里.
>在您的评论中,服务工作者可以缓存它.
>根据Apache服务器的配置方式,它可能不会“热交换”新文件并将其加载到内存中.对我来说,我部署到一个需要重新启动的Nginx Web服务器,以便将新文件重新加载到内存中.
>听起来你已经确定浏览器没有通过硬刷新缓存.

最后,我不太确定你是如何指向一个硬编码的主.[xxxyyyzz] .Js文件,因为如果下划线源文件发生了变化,哈希片段会发生变化.

总结

以上是内存溢出为你收集整理的reactjs – 当index.html在create-react-app部署中发生更改时触发硬缓存刷新全部内容,希望文章能够帮你解决reactjs – 当index.html在create-react-app部署中发生更改时触发硬缓存刷新所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1134537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存