Как запустить мой Angular сайт на мобильном устройстве, на котором работает localhost на моем рабочем столе Windows

Я знаю из этого вопроса и ответа на Супер пользователя Сайт, работающий на localhost на рабочем столе, недоступен на устройстве Android ( PS: этот вопрос продолжается по вопросу в ссылке), что команда ng serve открывает плохо настроенный веб-сервер.

Вопрос в том, как я могу запустить свой сайт на устройстве Android без развертывания моего сайта. Я попробую запустить сайт на этом URL http://192.168.0.168:4200 с помощью Angular -CLI.

Ответ 1

try ng serve --host, как описано в этой статье: https://github.com/angular/angular-cli/issues/1793 комментарий от intellix.

  • ng serve --host 0.0.0.0
  • Найдите свой локальный IP-адрес, следуя this
  • Перейдите к <local ip adress>:4200 с любого устройства в той же сети.

попробуйте https://ngrok.com/ открыть туннель из локальной сети на локальный компьютер. В основном ваш компьютер перенаправляет порт 4200 на внешний ip и порт, к которому может получить доступ любое устройство в сети.

Ответ 2

  • Сначала проверьте IP-адрес вашего устройства.

    • В Windows введите ipconfig в строке запроса (копия IPv4).
    • В Mac введите ifconfig |grep inet в Terminal (копировать inet).


    В моем случае это 192.168.0.10.

  • Затем введите ng serve --host 192.168.0.10.

  • Хорошо, ваше приложение в эфире для всех устройств в одной сети.

  • Теперь будет работать только http://192.168.0.10:4200/, localhost не более.

Ответ 3

Когда я пытался использовать

ng serve --host local ip address

Я столкнулся с

Неверный заголовок запроса

Эта проблема была решена с помощью --disable-host-check

ng serve --host local ip address --disable-host-check

Ответ 4

В дополнение ко всем ответам, приведенным выше, вам может потребоваться настроить параметры прокси на вашем устройстве. для моего телефона Android это было:

  1. Настройки
  2. Wi-Fi
  3. Нажмите и удерживайте нужную сеть
  4. Изменить сеть
  5. Нажмите расширенные/расширенные параметры
  6. Установите proxyHostname: localhost и proxyPort: 4200 и bypassProxyFor: hostIpAddress

Ответ 5

для людей Ubuntu: получить IP-адрес, записав это в терминале: hostname -I

вы получите IP-адрес что-то вроде 192.168.0.0

и тогда вы можете просто подать приложение с: ng serve --host ip address

и тогда вы можете просто открыть браузер на вашем мобильном телефоне с помощью: http:// ip address:4200

Ответ 6

Я открываю приложение Angular2 на мобильном устройстве с помощью удаленного устройства Chrome.

Вам просто нужно подключить телефон к компьютеру и синхронизировать его с Chrome. Затем выполните переадресацию портов, как описано по ссылке выше.

После подключения устройства запустите приложение Angular с ng serve --public-host

.Теперь вы можете получить доступ к своему приложению в localhost: 4200 с мобильного устройства.

Ответ 7

Я не уверен, изменилась ли эта команда в Angular 8, но ни одна из них не сработала для меня.

Все, что мне нужно было сделать, это вручную указать порт и т.д.!

ng s --host 0.0.0.0 --port 4200

(Обратите внимание, что вы также можете использовать свой фактический IP-адрес вместо 0.0.0.0; оба помогли мне.)