Gab*_*ron 9 reactjs service-worker create-react-app
我曾经create-react-app
开始研究React应用程序.默认情况下,它使用服务工作者.我也碰巧用https为我的生产应用程序服务.
事实证明,使用此配置,我的浏览器只是没有获得我部署的新版本.它继续重新加载旧版本,即使我强制刷新.我可以通过检查页面(使用Chrome)来获取加载最新版本的唯一方法.然后,当我强制刷新时,加载最新的构建.
我已经禁用了服务工作者,因为它似乎是罪魁祸首,但我继续遇到这个问题.我不能要求我的用户在浏览器中打开检查器以获得最新版本.
我怎样才能找到解决这个问题的方法?有没有create-react-app
配置我可以改变,以确保不再发生这种情况?
我实际上发现了问题所在:被index.html
缓存了,所以它指向也被缓存的旧js文件。
我解决这个问题的方法是将此配置添加到.htaccess
应用程序根目录的文件中(尽管通过其他方式配置 apache 也可能有效):
<FilesMatch "\.(html)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
最终还是和服务人员无关。index.html
它只与缓存的方式有关。
归档时间: |
|
查看次数: |
1854 次 |
最近记录: |