2016-03-22 64 views
0

我們正在試圖找出如何做到這一點:從iOS模擬器訪問本地node.js服務器?

  1. 我們必須在Node.js的服務器,本地託管在我們的計算機上,並與故宮開始初始化產生了一些服務。從這個服務器使用數據

  2. 離子應用...

使用$離子服務,應用程序可以,因爲他們在同一環境中運行明顯訪問Node.js的服務器...不幸的是,當用iOS模擬器($ ionic emulate ios)模擬它時,服務器無法訪問。

有什麼辦法可以保持本地主機上下文可用於iOS模擬器?

回答

0

一種方法是抓住您的本地網絡 IP地址(可能由DHCP分配),並在仿真時將該應用程序的端點設置爲該IP。

您位於同一網絡上,但不在同一個「localhost」上下文中。

這可能看起來像:

angular.module('MyIonicApp') 
    .constant('apiEndpoint', function() { 
     var env = process.env.SENTRY_MODE; 
     var dbURI = process.env.DB_URI; 

     /** Live API **/ 
     if (env === 'prod') 
      { return dbURI; } 
     /** Local development **/ 
     else { return 'localhost'; } 
    }); 

如果你沒有配置環境變量,另一種選擇是使用ionic.Platform.platform()實用程序來幫助確定您的上下文是什麼。 (Docs

這是一個臨時解決方案,但應該啓動並運行測試。

要在Mac OSX上找到您的本地IP地址,您可以打開您的系統首選項>網絡,然後單擊您的首選連接(如Wi-Fi),IP地址將顯示在「Turn Wi-Fi關」

一種簡單的方法來確定您的IP窗戶是打開命令提示符(在開始搜索CMD),並輸入ipconfig,讓你的IPv4地址

相關問題