Бабель не использует .babelrc. Зачем? - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь выучить Бабель. У меня работает модуль 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 a, корневой каталог проекта.

Затем я звоню node using_babelrc и получаю false true, хотя ожидаю true false.

Какую простую вещь мне не хватает?

1 Ответ

0 голосов
/ 01 мая 2018

Для функции transform также требуется опция filename, чтобы начать поиск файлов .babelrc относительно этого имени файла. В вашем случае:

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

прочитает файл конфигурации в той же папке, что и using_babelrc.js.

...