五、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/。
下面是一个例子。
var es6Code = "let x = n => n + 1";
var es5Code = require("babel-core")
.transform(es6Code, {
presets: ["es2015"]
})
.code;
// ""use strict";
var x = function x(n) {
return n + 1;
};"
上面代码中,transform
方法的第一个参数是一个字符串,表示需要转换的ES6代码,第二个参数是转换的配置对象。