一、首先說說babel是什麼,babel是一個JavaScript轉碼器,幫助咱們把瀏覽器不兼容的ES6語法轉換成ES5語法;瀏覽器
二、接着,babel是經過plugin來實現代碼的轉碼的;babel
三、而preset表明的是一組預先定義好的plugin集合;post
四、固然,在babel轉碼中,也有調用順序,第一步,先正序執行完plugins裏面的插件,第二步,再倒序執行presets中的preset;spa
這裏還有一篇更詳細的博文《Babel:Plugin、Preset的區別和使用》,我也是從這裏瞭解以後才加深了理解。prototype
好比瀏覽器的JSON對象,在低版本的IE瀏覽器,如IE 6 7 8是沒有JSON對象的,爲了代碼的統一性咱們會引入一些庫或者本身寫兼容代碼來模擬JSON的行爲,而這些代碼能夠稱之爲polyfill代碼。插件
而babel-polyfill是來處理瀏覽器自己就沒有的對象、方法,來模擬實現這些對象、方法,如:對象
一、全局對象:Promise、WeakMap等;ip
二、全局靜態方法:Array.from、Object.assign等;get
三、實例方法:Array.prototype.includes等;配置