2017-11-21 13 views
1

私は反応ネイティブのアプリケーションを作成しています。作成したコンポーネントの1つに、http要求からのデータが入力されるプロパティが含まれています。Expo Appからローカルにホストされたサーバーを呼び出す

現在、私はラップトップからサーバーをホストしていますが、私はExpoアプリを使用して自分の携帯電話でアプリケーションをテストしています。これらは2つの別々のデバイスであるため、http://localhost:3000コールが機能しないため、コンポーネントが正常に動作しているかどうかを判断できません。

私のラップトップでサーバーを実行し、Expoアプリ内のHTTPリクエストがサーバーに届くように設定する方法はありますか?

答えて

0

http://localhost:3000/のアドレスをコンピュータのIPアドレスに置き換える必要があります。

ウィンドウでは、プロンプトを開き、ipconfigと入力し、ネットワークインターフェイスの行を確認し、アドレスIPV4を取得します。192.168.1.20のようになります。その後、フェッチとhtt://192.168.1.20/routnameのようなURLで電話をかけることができます。

ところで、あなたのコンピュータ(サーバ)とあなたのデバイスは同じローカルネットワーク上になければなりません。 Wi-FiとLANは同じネットワークを共有します。

0

もう1つの簡単な方法です。まず、Mobile HotSpotを使用し、Mobile HotSpotを使用してラップトップに接続する必要があります。その後、あなたのコンピュータに割り当てられたIPアドレスを確認し、apiのURL http://localhost:80/のアドレスをhttp://192.168.5.43:80/に置き換えて使用します。

ポート80をapiサーバーのポート番号に置き換えます。

ラップトップのファイアウォールにサーバーポート(80)が開いていることを確認してください。アンドロイド残りのクライアントで

テストAPI https://play.google.com/store/apps/details?id=com.sn.restandroidapp(URL:http://192.168.5.43:80/api

0

あなたは万博のマニフェストを使用して、実行時にIPアドレスを取得することができます。

import Expo from "expo"; 
const { manifest } = Expo.Constants; 
const api = manifest.packagerOpts.dev 
    ? manifest.debuggerHost.split(`:`).shift().concat(`:3000`) 
    : `api.example.com`; 

これは、ローカルにapi定数を設定します開発マシンを開発モードで使用し、実稼働環境で使用するアドレスに依存します。

マニフェストの詳細:https://docs.expo.io/versions/latest/guides/how-expo-works.html#expo-manifest