私はこの質問とスーパーユーザーに関する回答から知っています デスクトップ上のローカルホストで実行されているサイトはAndroidデバイスで到達不能です(PS:この質問はリンク内の質問に続きます)コマンドng serve
が設定されたWebサーバーを正しく開かない。
問題は、サイトを展開せずにAndroidデバイスでサイトを実行する方法です。 Angular-CLIを使用して、このURL http://192.168.0.168:4200
でサイトを実行しようとします。
この問題で説明されているように--Host
オプションを提供してみてください: https://github.com/angular/angular-cli/issues/179 intellixによるコメント。
ng serve --Host 0.0.0.0
<local ip adress>:4200
に移動します。それ以外の場合は、 https://ngrok.com/ を試して、ローカルネットワークからコンピューターのローカルホストへのトンネルを開きます。基本的に、コンピューターは4200ポートをネットワーク上の任意のデバイスがアクセスできる外部IPおよびポートに転送します。
まず、マシンのIPアドレスを確認します。
ipconfig
と入力します(IPv4をコピーします)。ifconfig |grep inet
と入力します(inetをコピーします)。
私の場合、これは192.168.0.10
です。
次に、ng serve --Host 192.168.0.10
と入力します。
わかりました、同じネットワーク上のすべてのデバイスのオンエアのアプリ。
現在、http://192.168.0.10:4200/
のみが機能し、localhost
は機能しません。
使ってみたとき
ng serve --Host local ip address
私は直面していた
無効なヘッダーリクエスト
この問題は--disable-Host-check
を使用して解決されました
ng serve --Host local ip address --disable-Host-check
上記のすべての回答に加えて、デバイスのプロキシ設定を調整する必要がある場合があります。私のAndroid電話の場合、これは次のとおりでした。
proxyHostname: localhost
およびproxyPort: 4200
およびbypassProxyFor: hostIpAddress
を設定しますubuntuの場合:ターミナルでhostname -I
と書いているIPアドレスを取得します
192.168.0.0
のようなIPアドレスを取得します
ng serve --Host ip address
でアプリを提供できます
そして、あなたはあなたの携帯電話でブラウザを開くことができます:http:// ip address:4200
Chromeリモートデバイス を使用して、モバイルデバイスでAngular2アプリを開きます。
携帯電話をPCに接続し、クロムと同期するだけです。上記のリンクで説明されているようにポート転送を行うよりも。
デバイスを接続したら、Angularアプリをng serve --public-Hostで実行します
これで、モバイルデバイスからlocalhost:4200でアプリにアクセスできます。
Chromeリモートデバイス を使用して、モバイルデバイスでAngular2アプリを開きます。
携帯電話をPCに接続し、クロムと同期するだけです。上記のリンクで説明されているようにポート転送を行うよりも。
デバイスを接続した後、Angularアプリサービスをng serve --public-Host
で実行します
これで、モバイルデバイスからlocalhost:4200でアプリにアクセスできます。