我从这个问题和答案中了解到超级用户Site running on localhost on desktop is unreachable on android device ( PS:此问题在链接中的问题上继续)命令{{ 1}}打开一个配置错误的网络服务器。
问题是如何在不部署我的网站的情况下在Android设备上运行我的网站。我将尝试使用Angular-CLI在此网址ng serve
上运行该网站。
答案 0 :(得分:46)
尝试按照此问题中的说明提供--host
选项:intellix的https://github.com/angular/angular-cli/issues/1793评论。
ng serve --host 0.0.0.0
<local ip adress>:4200
。否则请尝试https://ngrok.com/打开从本地网络到计算机localhost的隧道。基本上,您的计算机会将4200端口转发到网络上任何设备都可以访问的外部IP和端口。
答案 1 :(得分:14)
首先验证您的机器IP地址。
ipconfig
。ifconfig |grep inet
(复制inet)。
在我的情况下,这是192.168.0.10
。
接下来,输入ng serve --host 192.168.0.10
。
好的,你的应用程序可以播放同一网络上的所有设备。
现在只有http://192.168.0.10:4200/
才有效,localhost
不再有效。
答案 2 :(得分:4)
当我尝试使用
时 ng serve --host local ip address
我正面对
无效的标题请求
此问题已使用--disable-host-check
ng serve --host local ip address --disable-host-check
答案 3 :(得分:1)
除了上述所有答案外,您可能还需要在设备上调整代理设置。对于我的Android手机,这是:
proxyHostname: localhost
和proxyPort: 4200
和bypassProxyFor: hostIpAddress
答案 4 :(得分:0)
对于Ubuntu用户:
获取在终端上写的IP地址:
hostname -I
您将获得一个类似于192.168.0.0
的IP地址
,然后您可以通过以下方式为应用提供服务:
ng serve --host ip address
,然后您可以使用以下方法在手机中打开浏览器:
http:// ip address:4200
答案 5 :(得分:0)
我使用Chrome Remote Device在移动设备上打开Angular2应用。
您只需要将手机连接到PC并与Chrome同步即可。 比上面的链接中所述的端口转发更重要。
连接设备后,使用ng serve --public-host
现在,您可以从移动设备访问localhost:4200中的应用程序。