记一次 ES6 在低版本浏览器的适配过程

出现的问题

在项目中使用了 ES6 的语法,比如letconst,导致在iOS 9.3.3版本的浏览器报错,但是在高版本的浏览器显示正常。

尝试解决

在确定了是由 ES6 新特性引起的报错以后,我们可以换回ES5的语法,当然这种不适合我们目前的情景。那有没有什么办法能把 ES6 在低版本浏览器中转译成ES5的语法呢?有。
目前有很多团队针对ES6的兼容问题,开发出了多种语法解析转换工具来把 ES6 转换成ES5,比较通用的解决方案有babeljsxes6-shim等,接下来我们就使用babel来做适配。

Babel

Babel 是一个转换编译器,它能将 ES6 转换成可以在浏览器中运行的代码。Babel 可以处理 ES6 的所有新语法,并且内置了 React JSX 扩展及 Flow 类型注解支持。

我们在HTML页面中直接引用babel


然后在页面JS代码部分做如下修改


再运行页面,就不会有报错出现了,而且页面中使用新API的地方也完美的运行通过。

你可能感兴趣的:(记一次 ES6 在低版本浏览器的适配过程)