Переопределение Babel не допускается в предустановленных опциях реагировать на родную навигацию - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь добавить маршрутизатор реагирует на эту начальную версию собственной навигации v2 на response-native , но у меня проблема, связанная с пакетом babel (возможно).Когда я запускаю

react-native run-android

, у меня возникает ошибка в Metro Bundler:

загрузка графика зависимости завершена.: связывание не удалось: Ошибка: [BABEL] D: \ реагировать - родной \ projecti \ index.js: идентификаторы .overr не допускаются в предустановленных параметрах

в Object.keys.forEach.key (D: \ реагировать—Native \ 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: \ реагировать -native \ 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_modules \ Obabel \ core \ lib \ config \ full.js: 66: 38)

Сборка в консоли успешно завершена.

Мой package.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 Ответ

0 голосов
/ 10 октября 2018

Похоже, что у вас 0,56 RN, который использовал некоторые бета-версии babel.

Я вижу, что у вас есть 2 решения:

1) Оставьте 0,56 RN и установите правильные значения для babel.

Для 0,56 RN вам необходимо убедиться, что все ошибки @ babel / * исправлены в версии 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

...