## 五、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代碼,第二個參數是轉換的配置對象。