關於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'
},
相關文章
相關標籤/搜索