前言:
Babel插件一般盡可能拆成小的力度挣轨,開發(fā)者可以按需引進(jìn)能曾。比如對(duì) ES6 轉(zhuǎn) ES5 的功能宵溅,Babel 官方拆成了20+個(gè)插件凌简。這樣的好處顯而易見,既提高了性能恃逻,也提高了擴(kuò)展性雏搂。(plugins)
但是藕施!如果當(dāng)前項(xiàng)目需要用到 ES6 轉(zhuǎn) ES5 的大部分功能,那么更適合直接引用插件的集合凸郑。(presets)
場(chǎng)景
如:es2015可拆分成transform-es2015-arrow-functions裳食、transform-es2015-template-literals等插件
-
presets plugins插件的集合,如['es2015’]
數(shù)組芙沥,表示插件集合 -
plugins 按需引進(jìn)诲祸,拆成細(xì)小粒度的插件,如['transform-es2015-arrow-functions'憨愉、'transform-es2015-template-literals']
數(shù)組烦绳,表示插件。 - babel.config.js 執(zhí)行順序
- 先執(zhí)行plugins配紫,再執(zhí)行presets
- plugins從左到右径密,presets從右到左
執(zhí)行順序:ABCDE
module.exports = {
presets: [E,D],
plugins: [A,B,C]
}
總結(jié)
如果只需要引用插件的部分功能躺孝,則通過plugins引入對(duì)應(yīng)插件享扔;若想要引入一個(gè)插件集合的絕大部分功能,建議直接使用presets引入該插件集合