vue项目发版之后路由跳转报错,这种问题如何解决比较好?
问题描述:
项目已上线,每次发版之后点击路由会报错,导致无法跳转。console打印:Uncaught SyntaxError:Unexpected token <
调查原因:
发版后老的js文件已经被替代,在发版过程中用户停留在页面上,用户继续操作就会找不到以前的js文件,找不到资源文件时nginx就会返回index.html, js无法识别<符号导致抛出报错。
想问一下这种问题是怎么解决的?之前在网上搜了很多方法都没有解决到,现在通过监听报错的方式强刷浏览器,大部分能够解决,但有时候会一直刷新一直报错,必须要清掉浏览器缓存才能解决。有没有什么更好的方式?
回答:
找运维商量一下,发版之后上一个版本的打包文件不要直接删除,至少让它是可用的,可以等几天再删掉,这样可以保证大部分用户能够过渡到新版本。
回答:
缓存策略
使用缓存策略
回答:
可以设置为 index.html
不缓存,JS
和 CSS
缓存,这种算是老生常谈的缓存处理了。
但是对于微信内置浏览器这种不支持协商缓存的就会有问题。
也可以参考1楼的回复,让运维在部署的时候保留历史文件。等到某一个大更新的时候在一起清理。
以上是 vue项目发版之后路由跳转报错,这种问题如何解决比较好? 的全部内容, 来源链接: utcz.com/p/933138.html