当前位置: 首页 > Web前端 > vue.js

Vue3不支持IE11的本质

时间:2023-03-31 20:27:43 vue.js

文章很水,核心只有一句话:由于ES5的限制,ProxysyntaxcannotwriteinES5(Proxiescannotbetranspiledorpolyfilled)。背景最近群聊vue3:BOSS:我们组哪个项目用的是vue3(背景我没说,现在基层员工拿不到羊毛信息了)teamleaderA:我们用it,微前端主项目用的Vue3(你看,我组多先进)组长B:Vue3不支持IE11(老娘,你用错了,whata聪明)。..我的问题很好,突然好奇:为什么Vue3不支持IE11,兼容性问题?不,兼容性问题polyfill应该可以处理。想在群里问,可是我等级最低,没人是鸟~C组的群问,然后群长C(我的组长)回复:不支持IE。”——一般来说,随机归因是不准确的。如果你想明白为什么,不妨阅读一下RFC和相关讨论。我怀疑他在发抖,但他似乎并没有。不支持IE11的原因,硬着头皮看了英文,总结了三个原因:Proxy比较香,Vue团队想用Vue团队贡献干掉IE如果支持的话,开发维护成本太高了。Vue2基于ES5getter/setter,Vue3基于Proxy。如果实现它们,它们需要在逻辑上双写。Vue团队不想因为IE11而做出更多的牺牲。以后要出超级代理对我来说太难了。Babel的问题又来了。Proxy问题用Babelpolyfill解决了吗?Babel...我不关心这个问题来自babelUnsupportedfeaturesDuetolimitationsofES5,Proxiescannotbetranspiledorpolyfilled.查看各种JavaScript引擎的支持。终于找到了根本原因:Babel的transpiled和polyfilled无法支持Proxy功能特性。ES6是ES5的后浪,不是开玩笑的。涨知识了,JS的世界里还是有Babel搞不定的东西。文章很水,核心只有一句话:DuetothelimitationsofES5,ProxyfeaturescannotbewriteinES5syntax(Proxiescannotbetranspiledorpolyfilled)游雨溪:Vue3考虑彻底放弃IE浏览器