В моем случае, я был в состоянии сузить причину до одного пункта в моем .babelrc
файле:
{
"presets": ["es2015"]
}
Как только я удалил, что и перезагрузки упаковщик (убедитесь, также используйте флаг --reset-cache
), я прекратил получение ошибки.
Update 2: Похоже Реагировать Native делает некоторые changes к их .babelrc
в версии 0.20.0
. Поэтому, если вы используете эту версию или новее, вы должны следовать инструкциям: https://github.com/facebook/react-native/tree/master/babel-preset, чтобы указать свои настройки .babelrc
.
Update: Я сузил это вниз дальше transform-es2015-modules-commonjs
, что React-Native устанавливает некоторые параметры на конкретно {"strict": false, "allowTopLevelThis": true}
. Предварительная установка es2015
не устанавливает этот параметр, и кажется, что React-Native .babelrc не переопределяет его. Если вы хотите использовать ES6 модули и преобразовать их в CommonJS, вам необходимо поместить следующее в вашем .babelrc:
{
"plugins": [
["transform-es2015-modules-commonjs", {"strict": false, "allowTopLevelThis": true}]
]
}
Note, Бабель 6, который я обновлен вместе с родным реагировать 0.16.0, больше не содержит преобразований по умолчанию. Первоначально я не осознавал, что пакетный пакет React-Native предоставляет большинство преобразований, которые вам могут понадобиться (перечисленные в их документах по адресу: https://facebook.github.io/react-native/docs/javascript-environment.html#javascript-syntax-transformers), и я думаю, что плагин «es2015» мешает некоторым из этих трансформаторов ,
Я также попытался использовать «babel-preset-react» (http://babeljs.io/docs/plugins/preset-react/), и этот плагин, похоже, не вызывал никаких ошибок.
У меня тот же вопрос о прошивке. Глядя на журнал Xcode, я получаю сообщение «Требуется неизвестный модуль» «RCTLog». –