2016-03-22 3 views
0

Мы пытаемся выяснить, как это сделать:Доступ к локальному серверу node.js из iOS Emulator?

  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)

Это временное решение, но должно быть подготовлено к испытаниям.

Чтобы найти локальный IP-адрес в Mac OSX, вы можете открыть свои системные настройки> Сеть и выбрать предпочтительное соединение (например, wi-fi), а IP-адрес будет отображаться вверху под «Turn Wi-Fi Off»

простой способ определить ваш IP на окнах, чтобы открыть окно командной строки (CMD в поиске запуска) и введите ipconfig и получить IPV4 адрес

Смежные вопросы