babel.transform()函数不使用.babelrc或package.json配置
问题描述:
我正在尝试使用Babel将ES6转换为已加载到变量中的ES5。但是,我发现与Babel文档相反babel.transform()
未使用配置文件来转换代码。babel.transform()函数不使用.babelrc或package.json配置
下面演示了我的问题:
的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()
使用配置文件?
答
.babelrc
相对于正在编译的文件搜索文件,因此如果它不知道文件的名称,则无法找到它。
babel.transform('const a = 0', {filename: "test.js"}).code)
例如会工作。
就是这样!谢谢。我认为这应该在他们的文档中。 – McShaman