babel的plugins和presets解析
babel可以将当前运行平台(浏览器、node服务器)尚不支持的下一代或几代js语法编译为当前支持的js语法版本,比如可以把es6 es7和es8的js代码编译为es5的代码。 需要明确的几个概念: es2015 === es6 es2016 === es7 es2017 === es8 plugin: babel的插件,在6.x版本之后babel必需要配合插件来进行工作 preset: babel插件集合的预设,包含某一部分的插件plugin { "plugins": ["transform-es2015-arrow-functions"], "presets": ["es2015"] } babel-preset-es2015: 可以将es2015即es6的js代码编译为es5 babel-preset-es2016: 可以将es2016即es7的js代码编译为es6 babel-preset-es2017: 可以将es2017即es8的js代码编译为es7 babel-preset-stage-x: 可以将处于某一阶段的js语法编译为正式版本的js代码 stage-X: 指处于某一阶段的js语言提案。 提案共分为五个阶段: stage-0: 稻草人-只是一个大胆的想法 stage-1: 提案-初步尝试 stage-2: 初稿-完成初步规范 stage-3: 候选