babel的官网说babel是下一代的js语法编译器,如今本身也在不少项目中使用了babel,但是本身对babel的认识呢,只停留在从google和别人项目中copy的配置代码上,心里感到很不安,最近花了点时间整理了一下,分享给大伙。javascript
一般在前端或node项目中,进行如下配置:html
// babel require('babel-core/register')({ presets: ['es2015', 'stage-0'] }); require('babel-polyfill'); require('./app.js');
{ "presets": ["es2015", "stage-0"] }
目前babel提供了几个官方的preset,主要包括:env es2015 es2016 es2017 flow latest react 。设置presets的时候须要提早npm安装相应的插件,插件名格式:babel-preset-xxx;以下:前端
{ "presets": ["es2015"] } npm install babel-preset-es2015
{ "plugins": ["transform-es2015-classes"] }
module: { loaders: [{ loader: 'babel', test: /\.js/, include: path.join(__dirname, 'src'), query: { plugins: ['transform-runtime'], presets: [ 'es2015', 'stage-0'], }}] }
entry: [ 'babel-polyfill','src/index.js', ], module: { loaders: [{ loader: 'babel', test: /\.js/, include: path.join(__dirname, 'src'), query: { presets: ['es2015', 'stage-0'] }}] }
参考资料: