浏览器低版本兼容问题 解决可选链'?.'和双问号'??'

    一次项目开发中,我本地浏览器没有任何问题,但是客户那边经常会有人打开页面就白屏,我这边也看不到报错,这种个别人必现问题,我就定位到是浏览器版本问题了。

    一问他们版本 一个46,一个74。这是多么老的版本啊,让他么升版本,死活不升。

    说是他们有什么东西需要U盾之类的东西,升了用不了,那好吧,客户至上,我就下个低版本的试一试,果然,报错了"Uncaught SyntaxError: Unexpected token ."这也看不出来具体哪里错了啊。
                然后就查看项目代码的吧,之前看到用element UI的时候,有个slot-scope的地方项直接用了scope,我当时有点怀疑这个不是已经被替代为slot-scope?看一下还真可以,在vue 2.5.0+ 中slot-scope替代了 scope,
                目版本为"vue": "^2.6.14",应该是现在想想可能有问题吧,改回去了。然后想想会不会还有这个版本不支持双链问题呢?然后就加个babel依赖进行转换,最后果然都好了。
                添加依赖:
                @babel/plugin-proposal-nullish-coalescing-operator: ^7.18.6
                @babel/plugin-proposal-optional-chaining: ^7.20.7
                然后在babel.config.js添加
                plugins: [
                    '@babel/plugin-proposal-nullish-coalescing-operator',
                    '@babel/plugin-proposal-optional-chaining'
                ]
                老项目确实头疼,建议大家直接vue3搭建吧。
posted @ 2023-03-28 10:40  清风引佩下瑶台  阅读(702)  评论(0编辑  收藏  举报