субмодуль babel импорт неожиданного токена - PullRequest
0 голосов
/ 25 октября 2018

Я не могу найти решение моей проблемы, вот оно:
Я использую babel для переноса моего кода из es6 в es5 на моем API.
Это работало отлично, пока я не добавил субмодуль, содержащийОбщая функция между API и моим мобильным приложением (React Native).
Теперь, когда я импортирую что-то из этого общего подмодуля, у меня появляется ошибка «Неожиданный токен« импорт »», поэтому мой подмодуль не переносится.
Обратите внимание на мобильное приложение, у меня нет проблем с этим подмодулем.

Вот моя структура:
|SRC
|- общий / (подмодуль)
|- - graphql /
|- - - user.js (обязательно, записано в es6)
|- - package.json
|- данные /
|- помощник /
|- index.js

мой babelrc выглядит так:

{
  "plugins": [
    "@babel/plugin-proposal-object-rest-spread",
    "@babel/plugin-transform-arrow-functions",
    "@babel/plugin-transform-regenerator",
    "@babel/plugin-transform-runtime",
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-proposal-class-properties"
  ],
  "presets": ["@babel/preset-env"]
}

обратите внимание, что в моем подмодуле нет .babelrc

, а вот babelошибка

У кого-то уже была эта проблема?Спасибо :)

РЕДАКТИРОВАТЬ: если я удаляю субмодуль package.json, он работает

РЕДАКТИРОВАТЬ 2: переименование моего .babelrc в babel.config.js сделал трюк ✅

узел v8.10.0
babel 7.0.0

1 Ответ

0 голосов
/ 25 октября 2018

Это ожидаемое поведение.Если вы посмотрите на https://babeljs.io/docs/en/config-files,, то ключевая часть будет

. Компилируемое «имя файла» должно быть внутри пакетов «babelrcRoots», иначе поиск будет полностью пропущен.

src/common/graphql/user.js находится внутри пакета src/common, но вашим корневым пакетом является корневой, а это другой пакет.

Если вы хотите использовать внутренний .babelrc, выНужно включить это, создав в корневом каталоге файл babel.config.js, который выполняет команду

module.exports = {
  babelrcRoots: [__dirname, __dirname + "/common"],
};

, чтобы Babel знал, что оба пакета должны рассматриваться как .babelrc -поддерживаемые пакеты.

...