TL;博士
在(当前的)默认CreateReactApp配置中,有一个关于serviceworks的缓存gotcha的讨论得比较好。
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#user-content-opting-out-of-caching
(尤其是“离线优先考虑”中的第5点和第6点)。
关于它最初包含在CRA中的扩展论点可以在这里找到:
https://github.com/facebook/create-react-app/issues/2398
-
CRA在其主文件中设置了标准的缓存破坏过程。
-
CRA包含了一个“服务工作者”模式来执行重载、超粘性的缓存。
-
-
原则上,软件会加载页面,然后去询问服务器最新的代码。
-
如果它检测到新版本,它将下载该版本,并缓存新版本。
-
会的
立即显示新版本,但将使用新版本
从新更新的缓存加载页的时间。
所有这些都是服务人员的标准、期望和预期行为。
但除此之外:
-
服务人员是
不是
-
根据主机服务器配置,serviceWorker
它本身
-
默认的、现成的Azure配置
做
问题0:我是把上面的东西都搞定了,还是遗漏了什么?
总的来说,我喜欢服务人员的声音——看起来这是一个很有用的工作,但是看起来CRA不太可能提供一些东西,当安装到Azure中时,这些东西根本就坏了——我目前部署的站点(或者给人的印象是)不可能推送更新到!
我相信我知道如何关闭ServiceWorker,显然包括从浏览器中清除它所需的活动步骤,这些浏览器已经看过一次,因此已经有一个活动的软件。(尽管我不清楚该代码将如何工作!)但如果我能避免的话,我宁愿不那样做-我宁愿知道如何工作
与
禁用
这个功能。
所以。。。