參考: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