Babel默認只轉換新的JavaScript句法(syntax),而不轉換新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise、Async等全局對象,以及一些定義在全局對象上的方法(比如Object.assign)都不會轉碼。
舉例來說,ES6在Array對象上新增了Array.from方法。Babel就不會轉碼這個方法。如果想讓這個方法運行,必須使用babel-polyfill,為當前環境提供一個墊片。
下面為具體配置方法
react及vue框架配置(使用webpack時,2、3項配置一個即可,推薦進行第3項配置)
1.安裝
npm install --save babel-polyfill
2.在react或vue的項目入口文件頭部導入babel-ployfill
import 'babel-polyfill';
3.在webpack的配置文件入口處,加入babel-polyfill
{entry: [
'babel-polyfill',
paths.appIndexJs
]}
配置完成后便可以使用這些新API來愉快的開發
IE坑
1.IE打開為空白頁面,首先引入babel-polyfill.
2.IE就算是引入babel-polyfill依然無法使用Proxy對象,建議在IE中最好不要用
3.vue中按需引入iview組件在IE中報eval錯誤
(1).安裝babel-plugin-import
npm i babel-plugin-import -D
(2). 配置.babelrc文件,在plugins添加最后一項
(3). 按需引入並注冊為vue組件
(4)扯遠了,解決bug[qq:29],配置編譯導入組件的loader