babel没有使用.babelrc。为什么?

时间:2018-04-30 02:21:26

标签: babeljs

我正在努力学习巴贝尔。我让babel-core模块正常工作,但我正在尝试使用.babelrc并且它没有做任何事情。

这是我的.babelrc文件。



{
    "plugins":["transform-es3-property-literals"]
}




这是我的代码:



var babel = require("babel-core");

var js = `var x = { catch: 4, bar: 7 };`;

var notUsingBabelRc = babel.transform(js,{
    plugins: ["transform-es3-property-literals"]
}).code;

var usingBabelRc = babel.transform(js).code

console.log(notUsingBabelRc == usingBabelRc);
//false, but should be true. Adding plugins as an option transforms the code.

console.log(usingBabelRc == js);
//true, but should be false. The code is not changed from its original form.




我在项目的根目录中有.babelrc个文件。我还将我的脚本文件using_babelrc.js作为项目的根目录。

然后我致电node using_babelrc并获得false true即使我期待true false

我错过了什么简单的事情?

1 个答案:

答案 0 :(得分:1)

transform函数还需要提供的filename选项才能开始查找相对于该文件名的.babelrc个文件。在你的情况下:

babel.transform(js, {filename: "using_babelrc.js"}).code;

将读取与using_babelrc.js相同的文件夹中的配置文件。