参考:http://es6.ruanyifeng.com/#docs/intro
babel-core
npm install babel-core --save 后,项目中可以引用该包,并调用相关API进行代码、js文件的转码。
var babel = require('babel-core');
// 字符串转码
babel.transform('code();', options);
// => { code, map, ast }
// 文件转码(异步)
babel.transformFile('filename.js', options, function(err, result) {
result; // => { code, map, ast }
});
// 文件转码(同步)
babel.transformFileSync('filename.js', options);
// => { code, map, ast }
// Babel AST转码(AST:抽象语法树 abstract-syntax-tree 源代码语法对应的树状结构)
babel.transformFromAst(ast, code, options);
// => { code, map, ast }
//示例
var es6Code = 'let x = n => n + 1';
var es5Code = require('babel-core')
.transform(es6Code, {
presets: ['es2015']
}).code;
// '"use strict";\n\nvar x = function x(n) {\n return n + 1;\n};'
bable-polyfill
Babel默认只转换新的JavaScript句法(syntax),而不转换新的API