记一次uniapp cli es6转es5的问题处理

/ 2评 / 1

问题

最近要上旧版本浏览器,我们uniapp用的是vue3 cli+ts+es6。

报错 ?. 和 flatMap 、 import.meta 绞尽脑汁如何es6转es5。

所有的es6转es5方案,如legacyPlugin、babel、polyfill等都不起作用。

官方又说自带es6转es5,又跑去下载老版本的hbuilderX,搞这搞那,没有任何作用,非常抓狂。

解决

最后是因为uniapp把legacyPlugin给封装进去了

    plugins: [
        uni({
            viteLegacyOptions: {
                targets: ['Chrome > 70']
            }
        })
    ],

问题解决。

心态崩了

关于viteLegacyOptions这个选项官方文档没有任何提及,这方法还是突发奇想,点到uni里面看抛出的ts才看到并尝试的,并且刚巧build了一版发到服务器上试、因为这个编译只在build时生效,特么开发模式下该报错还是报错,这让我怎么测试、心态都崩了。。

解决DEBUG全靠猜,唉~

  1. 终于解决了说道:

    谢谢楼主, 找了一万种解决办法, 就这个方法奏效, 终于可以在低版本安卓下不白屏了

  2. 呜呜呜说道:

    让这个问题心态搞崩好几个月
    也会debug时候模拟器白屏吧 是怎么解决的

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注