我的手机和电脑都在同一个wifi上。当我运行ng serve
时,我使用我的电脑在Chrome中打开localhost:4200,这是有效的。
但我用我的手机打开192.168.1.107:4200,但它不起作用。
当我使用create-react-app
时。有用。
绿色是有棱角的。白是反应
答案 0 :(得分:12)
为了使您的服务器在本地网络中可用,您需要使用以下命令:
ng serve --host 192.168.1.107
然后,该应用将在192.168.1.107:4200
网络中的每台设备上提供。
如果你不知道你的LAN地址是什么,你可以在基于unix的操作系统上执行ifconfig | grep broadcast
- 第一个IP是你的计算机,或ipconfig
在Windows机器上。
答案 1 :(得分:1)
您的图片显示您的PC的IP地址为192.108.1.107:4200
。您表示您尝试使用以下IP端口组合访问角度应用:
192.168.1.107:4200
假设这不是拼写错误,使用以下IP:端口组合var user;
(async function(){
await model.findOne({},(err,users)=>{
user=users;
console.log(user);
});
console.log(user);
})();
应该允许您访问角度应用。
答案 2 :(得分:0)
如果您的手机和计算机连接到同一网络(Wifi,LAN),则可以使用计算机本地IP地址(不是公共IP地址)从手机连接到计算机。
注意:您应该在计算机防火墙中添加入站角色以允许通过移动设备访问计算机。
答案 3 :(得分:0)
同一无线网络上的Linux机器+ Android手机:
ifconfig -a
. . wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.199 netmask 255.255.255.0 broadcast 192.168.1.255
我的机器结果:网络接口wlp3s0,IP 192.168.1.199
consult your phone, normally in Settings > About device > Status Result: my phone IP is 192.168.1.196
ufw允许wlp3s0从192.168.1.196进入任何端口4200
阅读ufw手册页!!! -做错事会使您的机器容易受到攻击
ufw状态
Status: active To Action From -- ------ ---- 4200 on wlp3s0 ALLOW 192.168.1.196
ng服务-主机192.168.1.199
192.168.1.199:4200
ng服务-主机0.0.0.0
来自您的计算机:localhost:4200
从您的电话:192.168.1.199:4200
您可能需要或不需要-disable-host-check
ufw重设
ufw enable
ufw状态
答案 4 :(得分:0)
我不确定该命令是否在Angular 8中更改了,但是其中的 none 都对我没有帮助。
我要做的就是手动指定端口,等等!
ng s --host 0.0.0.0 --port 4200
(请注意,您也可以使用实际IP地址代替0.0.0.0
;这对我都有用。)
答案 5 :(得分:0)
ng serve --public-host
运行您的角度应用程序(应用程序应在localhost:4200
上运行)您需要进行端口转发,这要感谢Chrome DevTools的确非常简单!
Add rule
(请参阅Tutorial)中Remote devices
标签中的settings
按钮,即可完成此操作,然后进入Device port
输入4200
,然后输入Local address
到localhost:4200
localhost:5010
上运行,因此我只是像上面{{1}所说的那样添加新规则}和Device Port: 5010
您现在可以在手机上访问Local address: localhost:5010
,它会显示您的应用
答案 6 :(得分:0)
您也可以使用 ngrok 创建一个隧道来拥有公共 URL。安装此程序,使用下一个命令在命令行中打开它:
ngrok http 3000