Новое приложение для родственных приложений имеет "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