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)
例如会工作。
以上是 babel.transform()函数不使用.babelrc或package.json配置 的全部内容, 来源链接: utcz.com/qa/260613.html