背景
最近接手了b端的的管理系统,技术栈是umi+react。开发的过程中发现个很诡异的问题,新加的样式再command+s后触发了热更新页面展示符合预期,但当刷新当前页面后新添加的样式不会生效。
过程
为了容易对比于是新加了一个class wqd-self-support-apartment
。
场景一:
command+s
热更新时:
有,此时页面正常,class生效。保存现场
tab 1
场景二
刷新页面。
搜不到wqd-self-support-apartment
即class未生效。保存现场tab 2
场景三:
怎么回事呢,把url拿出来瞅瞅,直接在浏览器请求一下看看:
他他他他居然又有了!!!!保存现场tab 3
猜测:难道是场景二中的css有缓存???
刚才的浏览器tab没关,回头看了看场景二(tab 2
)中的请求:
单看请求code是
200
,初步看肯定不是浏览器的缓存了(俗称强缓存)。
难道是umi起的node自己协商缓存了??
但是协商缓存命中缓存应该是304也不应该是200额。。。。难道是没命中缓存但是node返回的最新umi.css他其实并不是最新的???存疑!!!
重新打开一个tab(tab4
)刷新页面,此时发现umi.css
中居然含有wqd-self-support-apartment
了!!!想到场景三中直接访问确实是有的,难道是当时将缓存清理了,所以现在才能看到??不能够啊。。
结局
想着一探究竟,,结果本地无法复现了。。 持续一周的问题就这么的突然好了,,小丑竟是我自己!!!