## 五、babel-core 如果某些代码需要调用Babel的API进行转码,就要使用`babel-core`模块。 安装命令如下。 ~~~ $ npm install babel-core --save ~~~ 然后,在项目中就可以调用`babel-core`。 ~~~ 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转码 babel.transformFromAst(ast, code, options); // => { code, map, ast } ~~~ 配置对象`options`,可以参看官方文档[http://babeljs.io/docs/usage/options/](http://babeljs.io/docs/usage/options/)。 下面是一个例子。 ~~~ 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};' ~~~ 上面代码中,`transform`方法的第一个参数是一个字符串,表示需要转换的ES6代码,第二个参数是转换的配置对象。