Babel 默認只轉換新的 JavaScript 句法(syntax),而不轉換新的 API,比如Iterator
、Generator
、Set
、Map
、Proxy
、Reflect
、Symbol
、Promise
等全局對象,以及一些定義在全局對象上的方法(比如Object.assign
)都不會轉碼。
舉例來說,ES6 在Array
對象上新增了Array.from
方法。Babel 就不會轉碼這個方法。如果想讓這個方法運行,必須使用babel-polyfill
,為當前環境提供一個墊片。
在使用之前,先安裝
npm i --save-dev babel-polyfill
目前,使用babel-polyfill有三種方式:
一、在js文件中
import 'babel-polyfill';
二、在node中:
require('babel-polyfill');
三、在webpack中的entry入口中
entry: {
key1:[ 'babel-polyfill','./src/main.js']
}
或者
entry:['babel-polyfill','./src/main.js']