## 五、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代码,第二个参数是转换的配置对象。