Неожиданно увидеть ошибку «Файлы плагинов / предустановок не разрешены для экспорта объектов, а только функций» в проекте create-react-native-app

Работали над проектом, созданным через create-react-native-app. Успешно использовали проект в течение некоторого времени, но теперь, пытаясь проверить приложение через exp start --tunnel, я вдруг вижу ошибку (хотя и работал ранее) формы:

[22:08:19] /path/to/node_modules/react-native-scripts/build/bin/crna-entry.js: Plugin/Preset files are not allowed to export objects, only functions. In /path/to/node_modules/babel-preset-expo/index.js
[22:08:19] Failed building JavaScript bundle.

Были замечены некоторые сообщения, которые, похоже, справляются с проблемой ( https://github.com/babel/babel/issues/6808 и Babel Plugin / Preset файлы не разрешены для экспорта объектов, только функции ), но я абсолютно не знаком с { «presets»: ["babel-preset-expo"], "env": {"development": {"plugins": ["transform-react-jsx-source"]}}} -что все и не полностью получается что npm cache clean --force && rm -rf node_modules && rm -f package-lock.json && npm installесть, поэтому мне трудно понять, как применять эти сообщения в моей собственной ситуации.

Мой файл .bablerc (как представляется, относится к другим сообщениям):

npm update

Попробовали react-nativeбез изменений. Что, по-видимому, помогает понизить с response@0.56 до 0.55 (как описано здесь: Create React Native App. - Файлы Plugin / Preset не разрешены для экспорта объектов, только функции ), но это, похоже, не затрагивает проблему напрямую и больше обходного пути . Любые советы о том, что следует делать здесь, будут оценены (любые другие файлы, которые должны быть включены, чтобы помочь отлаживать?).


** В ответ на этот вопрос отмечается как потенциальный дубликат приложения Create React Native. - Файлы плагинов / предустановок не могут экспортировать объекты, только функции ,

  1. этот вопрос фактически был указан в этой должности и объяснение того, почему этот вопрос был опубликован, несмотря на наличие другого, был включен в последний абзац и
  2. мой более поздний ответ на этот вопрос объясняет другим пользователям, почему понижение до 0,55 решает проблему (и приводит ссылки на соответствующие документы, которые пользователи могут дополнительно проверить), которые ( во время публикации этого вопроса) не присутствовали в другом цитированном вопросе (хотя в настоящее время пользователь, который отметил этот вопрос как дубликат, теперь имеет ответ в указанном вопросе, который также говорит о том, почему работает понижение в 0,55).

react-native,expo,

4

Ответов: 3


** В ответ на этот вопрос отмечается как потенциальный дубликат приложения Create React Native. - Файлы плагинов / предустановок не могут экспортировать объекты, только функции ,

  1. этот вопрос фактически был указан в этой должности и объяснение того, почему этот вопрос был опубликован, несмотря на наличие другого, был включен в последний абзац и
  2. мой более поздний ответ на этот вопрос объясняет другим пользователям, почему понижение до 0,55 решает проблему (и приводит ссылки на соответствующие документы, которые пользователи могут дополнительно проверить), которые ( во время публикации этого вопроса) не присутствовали в другом цитированном вопросе (хотя в настоящее время пользователь, который отметил этот вопрос как дубликат, теперь имеет ответ в указанном вопросе, который также говорит о том, почему работает понижение в 0,55).
34
9 принят

Установлено, что проблема заключается в следующем:

В какой-то момент, должно быть, была сделана expoобновленная реакция-ответная на 0.56 и expo до 28.0.0.

Глядя на реагирующих родной документации ( https://facebook.github.io/react-native/docs/upgrading.html#create-react-native-app-projects ), реагируют родной , кажется, требует установки версии react-native, react, и expoвсе они полностью совместимы друг с другом . Матрица, версии которой пакеты совместимы друг с другом, можно найти здесь: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md и говорит

Каждая версия этих зависимостей совместима только с узким диапазоном версий двух других.

На момент написания документа последний раз обновлялся 27 апреля 2018 года, поэтому не совсем ясно, какие версии реакции и экспо (недавно выпущенные версии 28.0.0) должны использоваться в сочетании с текущим @ 0,56. Самые последние реагируют родную версия , которая будет задокументирована react-native@0.55 (идти с react@16.3.1 и expo@27.0.0), который я думаю, почему понижение в react-native@0.55 было полезно в этом случае (Я не знаю, почему в матрице нет документации для response-native @0.56), теперь мой пакет.json выглядит так:

...
"dependencies": {
    "@expo/vector-icons": "^6.3.1",
    "eslint": "^4.19.1",
    "expo": "^27.1.0",
    "prop-types": "^15.6.2",
    "react": "16.3.1",
    "react-native": "^0.55.4",
    "react-native-mail": "^3.0.6",
    "react-native-modal-dropdown": "^0.6.2",
    "react-navigation": "^2.6.2",
    "react-redux": "^5.0.7",
    "redux": "^4.0.0",
    "tcomb-form-native": "^0.6.14",
    "uuid": "^3.3.2"
  }
}

4

Тот же вопрос произошел со мной сегодня. По-видимому, action-native был повышен до 0,56.0. Вернувшаяся версия с отзывами на 0.55.0 решила мою проблему

npm install react-native@0.55.0

0

Причина была полностью объяснена @lampShadesDrifter, однако я добавлю более быстрое решение, которое должно использовать ответный родной sdk в комплекте с expo: https://github.com/expo/react-native/

Таким образом, вы можете добавить эти зависимости с помощью expo sdk 29:

"react-native": "https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz",

реагируют родной, выставка,
Похожие вопросы
Яндекс.Метрика