babel是一个工具链,用于将ES6+语法转换为当前版本浏览器等环境兼容的javascript代码。babel目前已经支持了最新版本的javascript语法,对于目前还没有被浏览器支持的语法,能够经过babel插件支持。javascript
Babel有两种并行的配置文件的方式,能够一块儿使用,也能够单独使用。java
文件相关配置react
根目录建立 babel.config.js 文件。babel.config.js 的官方文档在这里 babelnpm
在Babel执行编译的过程当中,会从项目的根目录下的 .babelrc文件中读取配置。.babelrc是一个json格式的文件。在.babelrc配置文件中,主要是对预设(presets) 和 插件(plugins) 进行配置。.babelrc配置文件通常为以下:json
{ "plugins": [ [ "transform-runtime", { "polyfill": false } ] ], "presets": [ [ "env", { "modules": false } ], "stage-2", "react" ] }
plugins该属性是告诉babel要使用那些插件,这些插件能够控制如何转换代码。
presets属性告诉Babel要转换的源码使用了哪些新的语法特性,presets是一组Plugins的集合。官方提供如下的规则集,你能够根据须要安装。浏览器
# ES2015转码规则 $ npm install --save-dev babel-preset-es2015 # react转码规则 $ npm install --save-dev babel-preset-react # ES7不一样阶段语法提案的转码规则(共有4个阶段),选装一个 $ npm install --save-dev babel-preset-stage-0 $ npm install --save-dev babel-preset-stage-1 $ npm install --save-dev babel-preset-stage-2 $ npm install --save-dev babel-preset-stage-3