【问题标题】:How to run my Angular site on mobile device that is running localhost on my windows desktop [duplicate]如何在我的 Windows 桌面上运行 localhost 的移动设备上运行我的 Angular 站点[重复]
【发布时间】:2017-08-21 15:27:16
【问题描述】:

我从超级用户Site running on localhost on desktop is unreachable on android device 上的这个问题和回答中知道PS: 这个问题在链接中的问题上继续) 命令ng serve 打开配置错误的网络服务器。

问题是如何在不部署我的网站的情况下在 Android 设备上运行我的网站。我将尝试使用 Angular-CLI 在此 url http://192.168.0.168:4200 上运行该站点。

【问题讨论】:

    标签: android networking localhost webserver angular-cli


    【解决方案1】:

    尝试 ng serve --host 选项,如本期所述:https://github.com/angular/angular-cli/issues/1793 intellix 评论。

    1. ng serve --host 0.0.0.0
    2. 通过this查找您的本地IP地址
    3. 从同一网络上的任何设备导航到<local IP adress>:4200

    注意:如果您收到 CONNECTION_REFUSED,只需禁用防火墙即可。

    否则,请尝试https://ngrok.com/ 打开从本地网络到计算机本地主机的隧道。基本上,您的计算机会将 4200 端口转发到网络上任何设备都可以访问的外部 IP 和端口。

    【讨论】:

    • 您的工具工作得很好,但我实际上正在寻找使用 Angular-CLI 的命令。
    • 已更新,请检查这是否适合您
    • 我不知道你能做到这一点。太棒了!
    • 似乎这项工作改为ng serve --host=0.0.0.0
    • 如果您的移动设备上仍然无法使用该网址,请尝试禁用防火墙
    【解决方案2】:
    1. 首先验证你的机器IP地址。

      • 在 Windows 上,在提示中键入 ipconfig(复制 IPv4)。
      • 在 Mac 上,在终端中键入 ifconfig |grep inet(复制 inet)。


      就我而言,这是192.168.0.10

    2. 接下来,输入ng serve --host 192.168.0.10

    3. 好的,您的应用在同一网络上的所有设备上播出。

    4. 现在只有http://192.168.0.10:4200/ 可以工作,localhost 不会更多。

    【讨论】:

    • 如何让手机和笔记本在同一个网络??
    • 我已经通过 WIFI 将移动笔记本电脑连接到同一个调制解调器,但它没有加载移动设备
    • 使用ipconfig,我得到了真正的IPv4,当我使用在线网站获取我的IP地址时,我遇到了这个错误An unhandled exception occurred: listen EADDRNOTAVAIL: address not available xxx.xxx.xx.xx:4200. See "C:\Users\xx" for further details.
    • @user2900572,将两个设备连接到同一个 wifi 路由器。或者在您的手机上打开热点并将您的笔记本电脑连接到它。
    【解决方案3】:

    当我尝试使用时

    ng serve --host local_ip_address

    我面对

    标头请求无效

    使用--disable-host-check解决了这个问题

    ng serve --host local_ip_address --disable-host-check

    【讨论】:

      【解决方案4】:

      除了上述所有答案之外,您可能还需要调整设备上的代理设置。对于我的 Android 手机,这是:

      1. 设置
      2. 无线网络
      3. 长按您想要的网络
      4. 修改网络
      5. 点击高级/扩展选项
      6. 设置proxyHostname: localhostproxyPort: 4200bypassProxyFor: hostIpAddress

      【讨论】:

        【解决方案5】:

        我使用 Chrome Remote Device 在移动设备上打开我的 Angular2 应用程序。

        您只需将手机连接到电脑并与 chrome 同步即可。 比上面链接中描述的端口转发。

        连接您的设备后,使用 ng serve --public-host 运行您的 Angular 应用服务

        现在您可以从移动设备访问 localhost:4200 中的应用。

        【讨论】:

        • ng 服务 --host LOCAL_IP_ADDRESS --disable-host-check
        【解决方案6】:

        对于 Ubuntu 用户: 获取在终端中写入的 IP 地址: hostname -I

        你会得到一个类似192.168.0.0的IP地址

        然后您可以通过以下方式为应用提供服务: ng serve --host ip_address

        然后您可以使用以下命令在手机中打开浏览器: http://ip_address:4200

        【讨论】:

        • ng 服务 --host LOCAL_IP_ADDRESS --disable-host-check
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-30
        • 2014-04-05
        • 2020-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-30
        相关资源
        最近更新 更多