我正在努力学习巴贝尔。我让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
。
我错过了什么简单的事情?
答案 0 :(得分:1)
transform
函数还需要提供的filename
选项才能开始查找相对于该文件名的.babelrc
个文件。在你的情况下:
babel.transform(js, {filename: "using_babelrc.js"}).code;
将读取与using_babelrc.js
相同的文件夹中的配置文件。