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

回到顶部