Как запустить мой 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 это было:
- Настройки
- Wi-Fi
- Нажмите и удерживайте нужную сеть
- Изменить сеть
- Нажмите расширенные/расширенные параметры
- Установите
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
; оба помогли мне.)