tips:此方案必须具备webpack配置能力
浏览器有缓存?
清除缓存就好了,这是大多数前端人员回复的解决方案.
那钉钉H5微应用、微信H5微应用有缓存?
通过钉钉APP强制清缓存,没错,可以达到目的.要是遇到不会清缓存的用户,而且其中偏偏就有你的boss,抓瞎,大脑emo中;考验语言组织能力的时候到了,忽悠得好升职加薪,忽悠不好关机领钱.
脑中一颤,这个问题不解决,凌晨4点的太阳见定了,头发也要见顶了.
灵机一动,有缓存,那就让他缓存,去适应他的缓存就好了,莫急,方案已在来的路上了.
此案例为spa webpack打包应用,其他技术栈可用该思想进行尝试,此方案不是终极解决方案,只能算我尝试后的最优解决方案,只能降低触发缓存的概率,并不能完全根除.
------清除钉钉h5微应用、微信h5微应用解决方案 开始------
只要被缓存的文件没有更换,或者更换的文件并没有被缓存,那微应用打开是不是就不会触发缓存问题;
道理是这么个道理,咱说干就干,已经晚上10点了,一刻也不能耽误;
通过扒拉webpack4文档,它有3种打包方案hash、chunkHash、contentHash,contentHash打包方式恰巧与咱们的灵感重合(低于4版本可用chunkHash);心中一阵窃喜,我已经开始飘了,感觉10:30能回家;webpack出包设置方式如下图:
output: {
chunkFilename: `js/[id].[${process.env.NODE_ENV === 'production' ? 'contentHa