从iOS模拟器访问本地node.js服务器?

时间:2016-03-22 18:52:56

标签: ios node.js ionic-framework

我们正试图弄清楚如何做到这一点:

  1. 我们有一些由Node.js服务器生成的服务,本地托管在我们的计算机上并使用npm start初始化。

  2. 使用此服务器数据的IONIC应用程序......

  3. 使用$ ionic服务,应用程序显然可以访问NODE.JS服务器,因为它们在相同的上下文中运行...不幸的是,当使用iOS模拟器($ ionic emulate ios)模拟它时,服务器无法访问被访问。

    有没有办法让localhost上下文可用于iOS模拟器?

1 个答案:

答案 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地址