Не удается найти модуль ‘babel-preset-react-native’

#react-native #webpack #webpack-dev-server #babel-loader #react-native-web

#react-native #webpack #webpack-dev-server #babel-загрузчик #react-native-web

Вопрос:

Я недавно интегрировался react-native-web в свой собственный проект и включил webpack. Я следовал всем инструкциям, перечисленным здесь. Однако при попытке запуска с помощью команды webpack, указанной внизу этой страницы, я продолжаю получать сообщение об ошибке:

 ERROR in ./index.web.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module 'babel-preset-react-native' from '<*path to root*>'
  

У меня уже установлен пресет metro-react-native-preset , и моя конфигурация babel выглядит следующим образом:

babel.config.js

 module.exports = {
  presets: ['module:metro-react-native-babel-preset']
};
  

В настоящее время я использую React Native 0.62

Ответ №1:

Не могли бы вы попробовать установить ‘babel-preset-react-native’?

 npm install --save -dev babel-preset-react-native
  

Комментарии:

1. Спасибо за ответ, я предполагал, что babel-preset-react-native он устарел и с metro-react-native-babel-preset так что я действительно должен это делать?

Ответ №2:

Вы сказали, что metro-react-native-preset уже установлены, но в вашей конфигурации есть metro-react-native-babel-preset — я предполагаю, что несоответствие просто случайно?

В любом случае, это, вероятно, не связано. Вот несколько вещей, которые нужно попробовать:

  1. Вы подтвердили, что у вас установлено 0.62 react native? Т. Е. в файле блокировки npm, так как, возможно, вы используете более старую версию (до 0.57), которая использует этот старый плагин.
  2. Возможно, у вас тоже есть .babelrc файл, в котором вместо него определен другой плагин?
  3. Аналогично (1), вы пытались удалить файл блокировки и / или папку node_modules и снова запустить npm install с нуля, чтобы версии соответствовали должным образом.