React-Native 0.57: «Не могу найти переменную: требуется» с предустановкой metro-реагировать-native-babel-preset - PullRequest
0 голосов
/ 29 сентября 2018

Я запустил мультиплатформенный проект с разделением кода между реактивно-нативным и противодействующим js.Итак, у меня есть настройка веб-пакета для браузера / Electron и реагирующая версия 0.57 для Android / iOS.Проблема, с которой я столкнулся сейчас, заключается в следующем: Не могу найти переменную: require

Это может быть очень лысый вопрос, но мне нужно что-нибудь еще?Я читал, что React-native должен поддерживать require самостоятельно, но пока не смог найти ничего, связанного с этой настройкой.

.babelrc {"presets": ["module:metro-react-native-babel-preset"]}

Я также использую @ babel / polyfill и@ babel / runtime на стороне браузера, но мне интересно, будут ли они мешать.

Ответы [ 3 ]

0 голосов
/ 29 сентября 2018

Получил решение, мой .babelrc был в порядке, но упаковщик кэшировал самую первую неправильную версию, поэтому мне пришлось запустить упаковщик как: react-native start --reset-cache

0 голосов
/ 08 ноября 2018

Кажется, что react-native start --reset-cache работает.

0 голосов
/ 29 сентября 2018

После рассмотрения проблемы github ниже, похоже, что проблема вызвана параметром corejs @ babel / plugin-transform-runtime, поэтому замените его на @ babel / polyfil

https://github.com/facebook/react-native/issues/21048

.babelrc config для ref

  {
  "presets": [
      "module:metro-react-native-babel-preset",
  ],
  "plugins": [
      "react-require",
   [
        "module-resolver",
     {
        "root": [
          "./src",
          "./assets"
        ],
        "alias": {
           "app": "./src",
          "assets": "./assets"
         }
      }
    ],
    [
        "babel-plugin-require-context-polyfill",
   {
    "alias": {
      "app": "./src"
    }
  }
   ],

     "@babel/plugin-proposal-export-default-from",
     "@babel/plugin-proposal-export-namespace-from",

    "@babel/plugin-transform-flow-strip-types",
   [
     "@babel/plugin-proposal-decorators",
  {
    "legacy": true
  }
    ],
     [
      "@babel/plugin-proposal-class-properties",
      {
    "loose": false
      }
     ],

      [
       "@babel/plugin-transform-runtime",
       {

       }
     ],

   ],
     "sourceMaps": true
 }

Установите Babel polyfill 7 "@ babel / polyfill": "^ 7.0.0"

и импортируйте его в компонент приложения

  import '@babel/polyfill'
...