我們正在試圖找出如何做到這一點:從iOS模擬器訪問本地node.js服務器?
我們必須在Node.js的服務器,本地託管在我們的計算機上,並與故宮開始初始化產生了一些服務。從這個服務器使用數據
離子應用...
使用$離子服務,應用程序可以,因爲他們在同一環境中運行明顯訪問Node.js的服務器...不幸的是,當用iOS模擬器($ ionic emulate ios)模擬它時,服務器無法訪問。
有什麼辦法可以保持本地主機上下文可用於iOS模擬器?
我們正在試圖找出如何做到這一點:從iOS模擬器訪問本地node.js服務器?
我們必須在Node.js的服務器,本地託管在我們的計算機上,並與故宮開始初始化產生了一些服務。從這個服務器使用數據
離子應用...
使用$離子服務,應用程序可以,因爲他們在同一環境中運行明顯訪問Node.js的服務器...不幸的是,當用iOS模擬器($ ionic emulate ios)模擬它時,服務器無法訪問。
有什麼辦法可以保持本地主機上下文可用於iOS模擬器?
一種方法是抓住您的本地網絡 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地址