orangeyyy
3/25/2018 - 10:26 AM

Android 新API问题

问题描述

页面在浏览器模拟器及IOS机器上运行良好,但是在android机上报错,页面白屏,由于报错信息并没有指明具体原因,因此排查花了好长时间。

问题原因

babel会编译几乎所有新的EcmaScript语法,对于新的API接口则不会,例如,Array.from、Object.asign、String.startsWith等等。如果想要在代码中使用新的API就要使用到babel-polyfill了。使用babel-polyfill的方法是安装babel-polyfill并在代码的最上层引入babel-polyfill。

我在代码中使用了Array.findAPI,这个API在anroid上还未原生支持,因此导致js报错,而我们并没没有使用babel-polyfill。

解决方案

由于不希望为了使用这一个新的arrayAPI而引入一个babel-polyfill,因此我选择使用传统的forEach来实现find。