Я следую этому руководству https://jruddell.com/blog/ignite-jhipster.
Я создаю бэкэнд и запускаю его, я создаю интерфейс и нажимаю приложение на устройстве (avd), я пытаюсь войти в систему с пользователем / пользователем, это не работает, но в Интернете http: // локальный: 8080 / работает хорошо.
AppConfig.js
export default {
apiUrl: 'http://localhost:8080',
appUrlScheme: 'mobile',
// font scaling override - RN default is on
allowTextFontScaling: true
}
Конфигурация response-native изменилась? А как посмотреть логи с ignite-jhispter?
Спасибо
Нет, я не могу получить доступ к localhost: 8080 с моего avd, как я могу это настроить?
Обычно я использую локальный IP-адрес своего компьютера. Вы также можете использовать 10.0.2.2:8080
См. stackoverflow.com/a/6310592/3737815
Я могу получить доступ в браузере avd с 10.0.2.2:8080, поэтому я заменяю apiUrl в AppConfig.js, но запуск приложения в avd не может войти. Кто-нибудь может попробовать учебник, пожалуйста?
Вы правы, 10.0.2.2 тоже не работает. Однако использование локального IP-адреса вашего компьютера работает. Я добавил ответ
Когда вы запускаете свой бэкэнд JHipster, он отображает локальный и внешний IP-адреса, по которым доступно ваше приложение. Скопируйте внешний IP-адрес и используйте его в качестве URL-адреса API. http://localhost:8080
будет работать с эмулятором iOS, но не с эмулятором Android, поскольку у него есть собственная служба обратной связи.
----------------------------------------------------------
Application 'backend' is running! Access URLs:
Local: http://localhost:8080
External: http://10.0.0.113:8080 <- Use this as your apiUrl for Android
Profile(s): [swagger, dev]
----------------------------------------------------------
я использую avd, можно ли увидеть URL-адрес, вызываемый приложением? Запуск C: \ Users \ Me \ AppData \ Local \ Android \ Sdk \ / platform-tools / adb -s emulator-5554 reverse tcp: 8081 tcp: 8081
Как упоминалось в файле readme Ignite JHipster, я рекомендую использовать Reactotron для отладки, журналов и сетевых запросов github.com/infinitered/reactotron/tree/v1.x. Вам также нужно будет настроить IP в ReactotronConfig.js. В противном случае используйте стандартные инструменты отладки React Native facebook.github.io/react-native/docs/debugging.html
response-native не может получить доступ к серверу localhost
Внешний IP-адрес показывает IP-адрес, а не localhost. Я проверил это решение на эмуляторе Android
любой IP-адрес тоже не работает, это кажется проблемой, связанной с реакцией на эмулятор Android, но IOS работает хорошо.
Наконец то нашел: D
После запуска эмулятора Android:
adb reserve tcp:8080 tcp:8080
Я должен указать порт при запуске приложения:
react-native run-android --port 8080
И, конечно же, как вы сказали, используйте этот IP 10.0.2.2 в AppConfig.js
export default {
apiUrl: 'http://10.0.2.2:8080',
appUrlScheme: 'mobile',
allowTextFontScaling: true
}
Теперь он работает на моем avd.
Флаг --port
запускает упаковщик React Native на этом порту, я не думаю, что он делает то, что вы ожидаете.
У меня другая проблема: не могу обновить, когда я дважды нажимаю «R», он вызывает 10.0.2.2:8181/index.delta? [...]. Порт 8181 уже используется McAfee.
Попробуйте использовать --port 8083
, 8080 используется вашим сервером, а порт по умолчанию для упаковщика React Native - 8081, но он используется McAfee kc.mcafee.com/corporate/index?page=content&id=KB66797
Работает с этим решением stackoverflow.com/questions/37376512/…
Можете ли вы получить доступ к локальный: 8080 из браузера вашего устройства? Возможно, вам потребуется указать IP-адрес локальной сети вашего компьютера, если нет