vue2.5+超图+minitUI兼容ios9--小记

746 阅读1分钟

vue2.5+超图+minitUI兼容ios9--小记

最近在进行一个移动端混合开发的项目,要求兼容到ios9,ios9不支持ES6语法,所以肯定要用babel进行转义,但过程中出现了一些坎坷--编译之后还是无法显示。

原因及解决办法

  1. 在网上查看其他大佬的办法后,发现本地缺少 babel-polyfill这个插件
    npm安装指令
    npm install --save babel-polyfill

然后在main.js文件内引用

import 'babel-polyfill'

  1. 第三方库超图也是用es6编写的,官方文档也给了转义方法 iclient.supermap.io/web/introdu… 通过npm安装的超图体积很大,导致包体过大,而且编译的很慢,经过权衡决定通过直接在index.html里引用 <script>标签的方式,但是这个方法并不推荐,仅做参考。然后资源文件一定要放在static文件夹下,否则项目运行时会读取不到。
  2. 解决以上两个后,发现ios9显示还是白屏,猜测可能还有页面有问题,索性把所有页面在路由里注释后逐一排查,最后发现是mint-ui的一个Clickoutside事件方法被排除在转义外了,所以需要手动去babel一下。在build文件夹下的webpack.base.conf.js里加入红框处的代码。

4. 最后一个原因不太常见,主要是因为此项目在static文件夹下放了后端需要的js配置文件,static是不会被编译到的外层文件夹,所以把里面的es6语法重写一下就解决了。

希望这点内容能帮助大家节约更多的开发时间