我正在尝试使用Babel将ES6转换为已加载到变量中的ES5。但是,我发现与Babel文档相反, babel.transform()
没有使用配置文件来转换代码。
以下内容说明了我的问题:
的package.json:
{
"name": "babel-test",
"version": "1.0.0",
"main": "index.js",
"babel": {
"presets": [
["env", {
"targets": {
"ie": 8
}
}]
]
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-preset-env": "^1.6.1"
}
}
test.js
const a = 0
index.js:
const babel = require('babel-core')
console.log(babel.transform('const a = 0').code)
console.log(babel.transformFileSync('test.js').code)
CLI:
$ node index.js
const a = 0;
"use strict";
var a = 0;
正如您所见 babel.transformFileSync()
正在使用配置而 babel.transform()
则不然。
如何让 babel.transform()
使用配置文件?
答案 0 :(得分:1)
.babelrc
个文件,因此如果它不知道文件的名称,则无法找到它。
babel.transform('const a = 0', {filename: "test.js"}).code)
例如,将起作用。