Подтвердить что ты не робот

Реакция не может найти файл входа в любом из корней

Я использую React Native как Pod в моем проекте iOS. Когда я пытаюсь загрузить представление, которое я создал с помощью React Native, я получаю экран Error, ссылающийся на окно терминала, где выполняется npm.

В терминале ошибка, которую я вижу, это: Ошибка: не удается найти файл ввода в любом из корней:

Я пробовал несколько вещей, перемещая файл в другое место, но не повезло. Я запускал "npm start", и я ищу файл в "http://localhost:8081/". Текущее местоположение файла находится в том же месте, где я запускал "npm start" из.

Я полностью застрял здесь. Я настроил что-то неправильно. Как я могу устранить проблему здесь?

4b9b3361

Ответ 1

Извините за ответ на мой собственный вопрос (немного хромой), но я надеюсь, что это поможет кому-то еще.

Вначале нам нужно запустить команду npm, указав альтернативный путь.

npm run start -- --root <directory_with_your_react_component_js_sources>

Вкл http://facebook.github.io/react-native/docs/embedded-app.html#content - это руководство по интеграции React Native в существующее приложение.

Ответ 2

Проверьте сервер node, работающий на одном из терминалов bash, это, вероятно, было вызвано предыдущим проектом ReactNative XCode, который вы запускали ранее. Остановите этот процесс и снова запустите проект XCode, это должно устранить проблему.

Ответ 3

Это происходит, когда React хочет использовать порт, который уже используется другим приложением. Поскольку React прослушивает порт 8081, вы можете запустить процесс, выполняющийся на этом порту, в командной строке:

lsof -n -i4TCP:8081

Вы получите ответ следующим образом:

COMMAND   PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

node 28571 username 32u IPv6 0x742e2ab233abdb9f 0t0 TCP *:sunproxyadmin (LISTEN)

Просто убил, набрав оболочку kill -9 <PID>. Используйте тот же PID, который был указан в последнем ответе.

Затем запустите npm start.

Ответ 4

Вот эта проблема:

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

Это похоже на то же самое. Пользователь, похоже, указал, что раньше они запускали проект из этого каталога, что заставляет меня задаться вопросом, связано ли это с висящим или оставшимся пакетом от предыдущего запуска? Попробуйте закрыть окно терминала и перезапустить проект Xcode.

В общем, это звучит как проблема с упаковщиком, который не генерирует файлы, как ожидалось. Есть ли другие сообщения в окне терминала?

Ответ 5

Я хотел обновить это после того, как немного разочаровался, моя установка по-прежнему не работала после уничтожения всех процессов node и выполнения указанной выше команды.

Кажется, в настоящий момент существует открытая проблема ReactNative: https://github.com/facebook/react-native/issues/14246

Решение для этого состоит в том, чтобы убить внешний менеджер пакетов и запустить "npm start" в папке проекта.

Ответ 6

Проверьте, есть ли у вас index.ios или index в AppDelegate.m:

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

У меня был index, и я ранее использовал index.ios и index.android, поэтому он не работал.