关于android h5内嵌网页报TypeError: Object.entries is not a function

android内嵌网页有个tab点击竟然没反应,晕了。不过还好只是手里的魅族手机有问题,华为的能够,基本能够肯定是兼容性问题vue

用devtools查看webview网页看到报错信息以下图android

很明显了es6的generators的entries函数不支持,而后查看手机的chrome内核版本是51,查了下android chrome内核兼容性以下图,android chrome的兼容性更新如此之慢。webpack

解决吧,原本觉得是babel编译转es5的问题,搞了半天不行。。最后查看大神的回答才发现:babel只能在构建过程当中转译语法糖,好比说将ES7/ES6/JSX中的语法部分(例如箭头函数)转译成ES5。而polyfill则是解决原生对象的问题,好比说你的浏览器不支持Promise,babel就给你建一个Promise供你使用。这样就清晰了,在webpack构建的时候加上babel-polyfill就好了es6

两步web

一、安装模块chrome

npm install --save babel-polyfillvue-cli

二、配置模块npm

webpack.config.js中entry加上polyfill(我这里是用vue-cli建立的项目,webpack配置文件名称为webpack.base.conf.js。polyfill直接放main.js里import也能够,只是引入方式不同)浏览器

entry: {
  'babel-polyfill':'babel-polyfill',
  app: './main.js'
},
相关文章
相关标签/搜索