我们正试图弄清楚如何做到这一点:
我们有一些由Node.js服务器生成的服务,本地托管在我们的计算机上并使用npm start初始化。
使用此服务器数据的IONIC应用程序......
使用$ ionic服务,应用程序显然可以访问NODE.JS服务器,因为它们在相同的上下文中运行...不幸的是,当使用iOS模拟器($ ionic emulate ios)模拟它时,服务器无法访问被访问。
有没有办法让localhost上下文可用于iOS模拟器?
答案 0 :(得分:0)
一种方法是获取本地网络 IP地址(可能由DHCP分配),并在您进行模拟时将应用程序的端点设置为该IP。
您在同一个网络上,但不在同一个网站上#34; 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地址将显示在&#34下方的顶部;关闭Wi-Fi"
在Windows上确定IP的简单方法是打开命令提示符(在开始搜索中为cmd)并输入ipconfig
并获取您的IPV4地址