如何从babel-core中获取被转换的字符串?

res*_*ive 2 javascript node.js npm babeljs

我正在尝试使用npm的babel,我认为我需要的包是babel-core.具体来说,我想要做的是传递一串ES6代码并让它将一串转换后的代码交给我.而已.你认为这很简单,但我无法用文档来解决这个问题.根据我的阅读,我应该能够这样做:

var babel = require('babel-core');
var code = 'x => x + 1';
var result = babel.transform(code);
Run Code Online (Sandbox Code Playgroud)

但问题是,结果是一个包含AST的对象,而不是一个字符串.我试图在该对象上运行transformFromAst,但这也不起作用.任何人都可以帮我获得实际的字符串吗?

log*_*yth 5

result.code将包含ES5代码.result.ast会有的.它可能看起来不像是因为你没有将任何选项传递给Babel,所以它只会通过代码不变,例如

npm install babel-preset-es2015
Run Code Online (Sandbox Code Playgroud)

var result = babel.transform(code, {
    presets: ['es2015']
});
Run Code Online (Sandbox Code Playgroud)