#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
— я предполагаю, что несоответствие просто случайно?
В любом случае, это, вероятно, не связано. Вот несколько вещей, которые нужно попробовать:
- Вы подтвердили, что у вас установлено 0.62 react native? Т. Е. в файле блокировки npm, так как, возможно, вы используете более старую версию (до 0.57), которая использует этот старый плагин.
- Возможно, у вас тоже есть
.babelrc
файл, в котором вместо него определен другой плагин? - Аналогично (1), вы пытались удалить файл блокировки и / или папку node_modules и снова запустить
npm install
с нуля, чтобы версии соответствовали должным образом.