Новое приложение для родственных приложений имеет "TypeError: babelHelpers.typeof не является функцией" [iOS]

Новый проект, созданный с последней версией реактивной ошибки, вызывает ошибку javascript во время работы (/отладка). Протестировано это на симуляторе.

[fatal][tid:main] TypeError: babelHelpers.typeof is not a function. (In 'babelHelpers.typeof(target)', 'babelHelpers.typeof' is undefined)

Установил клиент-реагирующий клиент сегодня и создал приложение, используя

react-native init AwesomeProject

Версия приложения:

react-native-cli: 0.1.10
react-native: 0.20.0
node version: v5.6.0

Ответ 1

Вот комментарий, объясняющий проблему:

https://github.com/facebook/react-native/issues/4844#issuecomment-204035720

Подводя итог:

Предустановки Babel 'stage-0' через 'stage-3' содержат 'async-to-generator', что не обязательно для самой реакции.

Решение состоит в том, чтобы использовать неофициальный предварительный набор babel 'react-native-stage-0'

Пример:

npm install babel-preset-react-native-stage-0 --save-dev

.babelrc

{
  "presets": ["react-native-stage-0"]
}

или с поддержкой декоратора

{
  "presets": ["react-native-stage-0/decorator-support"]
}

Пустой кеш и перезагрузка

watchman watch-del-all

./node_modules/react-native/packager/packager.sh start --reset-cache

Ответ 2

Решено добавить этап Babel stage-1 и выполнить предварительную настройку на .babelrc в корневой папке проекта.

{
  "presets": ["stage-1", "react-native"],
}

Подробнее здесь: https://github.com/facebook/react-native/issues/5747

Ответ 3

Чтобы решить проблему, я переименовал файл .babelrc в родительский каталог, затем запустил ./node_modules/react-native/packager/packager.sh start --reset-cache

Ответ 4

Одна из проблем заключается в том, что если в родительском каталоге есть приложение .babelrc, пакетщик будет читать это, и это приведет к этой точной ошибке. Один из способов - добавить в проект .babelrc файл:

{
  "presets": ["react-native"]
}

Ответ 5

Я обновился до недавно выпущенного [email protected], и проблема исчезла. Я не уверен, что это означает, что проблема с корнем была решена, так как я видел прерывистый успех с другими "исправлениями".

Ответ 6

Дважды проверьте ваши пути импорта/имена файлов, поскольку они чувствительны к регистру

Ответ 7

Обычно это связано со сторонней зависимостью npm, в которой задано предустановленное значение .babelrc или babel es2015, указанное в нем package.json.

Там есть исправление: https://github.com/facebook/react-native/pull/11093