Переопределение Babel не допускается в предустановленных параметрах реагировать на встроенную навигацию
Я пытаюсь добавить маршрутизатор реагировать на встроенную навигацию v2 в этот стартовый проект на реактив-родной, но у меня есть проблема, связанная с пакетом babel (возможно). Когда я бегу
react-native run-android
У меня есть эта ошибка в Metro Bundler:
загрузка графа зависимостей, сделано.: связывание не выполнено: ошибка: [BABEL] D:\ реагировать - родной \projecti\index.js: идентификаторы.overr не допускаются в предустановленных параметрах
в Object.keys.forEach.key (D:\ реагировать - родной \projecti\node_modules\metro\node odules\Obabel\core\lib\config\validation\options.js:71:13) в Array.forEach () в проверить (D: \ реагировать - родной \projecti\node_modules\metro\node_modules\nabel core\lib\config\validation\options.js:69:21) в instantiatePreset (D:\ реагировать - родной \projecti\node_modules\metro\node_modul s\l@babel\core\lib\config\full.js:242:36) в cachedFunction (D:\ реагировать-нативные \projecti\node_modules\metro\node_modules\ babel\core\lib\config\caching.js:42:19) в loadPresetDescriptor (D:\ реагировать - родной \projecti\node_modules\metro\node_mo Iules\ftabel\core\lib\config\full.js:233:45) в config.presets.map.descriptor (D:\ реагировать - родной \projecti\node_modules\metr I\node_modules\ftabel\core\lib\config\full.js:68:19) в Array.map () в recurseDescriptors (D:\ реагировать - собственный \ projecti \ node_modules) \metro\node_modu les\Obabel\core\lib\config\full.js:66:38)
Сборка в консоли завершилась успешно.
Мой пакет.json
{
"name": "project1",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"android": "cd ./android && ./gradlew app:assembleDebug && ./gradlew installDebug"
},
"dependencies": {
"@babel/runtime": "^7.1.2",
"react": "16.5.0",
"react-native": "0.56",
"react-native-navigation": "^2.0.2569"
},
"devDependencies": {
"@babel/core": "^7.1.0",
"@babel/preset-env": "^7.1.0",
"babel-eslint": "^9.0.0",
"babel-jest": "^23",
"babel-preset-react-native": "^5",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.47.0",
"react-test-renderer": "16.5.0"
},
"jest": {
"preset": "react-native"
}
}
.babelrc
{
"presets": [
"@babel/preset-env",
"module:metro-react-native-babel-preset"
]
}
1 ответ
Похоже, у вас есть RN 0,56, который использовал некоторые бета-версии Babel.
Я вижу, у вас есть 2 решения:
1) Сохраняйте RN 0,56 и устанавливайте правильные значения глубины
Для 0,56 RN вы должны убедиться, что все @ belel / * deps исправлены в версии 7.0.0-beta.47 (см. Журнал изменений 0.56 для тех)
2) Обновите свой проект до RN 0,57
Чтобы иметь возможность использовать последние зависимости babel 7, вам нужно будет перенести ваш проект на RN 0,57.
This is what I have for a 0.57.1 project:
"dependencies": {
"react": "16.5.0",
"react-native": "0.57.1",
.......
}
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-decorators": "^7.0.0",
"@babel/plugin-proposal-do-expressions": "^7.0.0",
"@babel/plugin-proposal-export-default-from": "^7.0.0",
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
"@babel/plugin-proposal-function-bind": "^7.0.0",
"@babel/plugin-proposal-function-sent": "^7.0.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
"@babel/plugin-proposal-numeric-separator": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
"@babel/plugin-proposal-pipeline-operator": "^7.0.0",
"@babel/plugin-proposal-throw-expressions": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
"@babel/register": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babel-preset-react-native-stage-0": "^1.0.1",
.....
}
Важно: обновить .babelrc
Конфигурация для:
{
"presets": ["module:metro-react-native-babel-preset"]
}
Больше информации о RN 0.56, 0.57 см. Здесь:
https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md
Больше информации о Babel 7 Deps здесь:
https://new.babeljs.io/docs/en/next/v7-migration.html#versioning-dependencies-blog-2017-12-27-nearing-the-70-releasehtml-peer-dependencies-integrations https://github.com/babel/babel-upgrade
Подробнее об обновлении проекта RN до Babel 7 здесь:
Реагируйте на обновление с Babel 6 до Babel 7
Примечание: убедитесь, что вы удалили все node_modules и переустановили их, а также очистили локальный кеш после модификации версий babel.
rm -rf $TMPDIR/react-*; rm -rf $TMPDIR/haste-*; rm -rf $TMPDIR/metro-*; watchman watch-del-all