1.babel-polyfill作用
Babel默認(rèn)只轉(zhuǎn)換新的JavaScript句法(syntax),而不轉(zhuǎn)換新的API戳杀,比如Iterator该面、Generator、Set信卡、Maps隔缀、Proxy、Reflect坐求、Symbol蚕泽、Promise等全局對(duì)象,以及一些定義在全局對(duì)象上的方法(比如Object.assign)都不會(huì)轉(zhuǎn)碼桥嗤。
舉例來(lái)說(shuō)须妻,ES6在Array對(duì)象上新增了Array.from方法。Babel就不會(huì)轉(zhuǎn)碼這個(gè)方法泛领。如果想讓這個(gè)方法運(yùn)行荒吏,必須使用babel-polyfill,為當(dāng)前環(huán)境提供一個(gè)墊片渊鞋。
安裝命令----cnpm install --save babel-polyfill
因?yàn)檫@是一個(gè) polyfill (它需要在你的源代碼之前運(yùn)行)绰更,我們需要讓它成為一個(gè) dependency,而不是一個(gè) devDependency.
然后瞧挤,在腳本頭部,加入如下一行代碼儡湾。
import 'babel-polyfill';
// 或者
require('babel-polyfill');
Babel默認(rèn)不轉(zhuǎn)碼的API非常多特恬,詳細(xì)清單可以查看babel-plugin-transform-runtime模塊的definitions.js文件。