2016-03-17 4 views
1

Я пытаюсь преобразовать одно из своих веб-приложений в гибридное мобильное приложение, используя кордову. Я использую полимерные и веб-компоненты. Я также могу отображать пользовательский интерфейс в устройстве ios. Однако я хочу знать, как настроить IP-адрес и порт моего сервера (мой ноутбук в этом случае) динамически при создании или депонировании приложения. Может быть, некоторые настройки Cordova (например, чтобы переменная или построить аргумент)Как настроить IP-адрес и порт хоста IP-адреса в приложении cordova для вызовов ajax

мой HTML

<html lang="en"> 

<head> 
<meta charset="utf-8"> 
<meta name="description" content=""> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script> 
<link rel="import" href="styles/app-theme.html"> 
<link rel="import" href="bower_components/paper-toolbar/paper-toolbar.html"> 
<link rel="import" href="bower_components/paper-drawer-panel/paper-drawer-panel.html"> 

некоторые Ajax вызова.

<iron-ajax id="resetValidate" **url="/api/appusers/reset"** method="post" content-type="application/json" on-response="handleResponse" on-error="handleError"></iron-ajax> 
.... 

Так на самом деле я хочу назвать HTTP ::/192.168.1.39:3000//api/appusers/reset в этом случае, но изменение кода не является хорошим решением, так как у меня есть более чем 100 мест и более того, этот ip будет отличаться для всех разработчиков, и он будет меняться каждый раз. Когда приложение будет готово, очевидно, мне нужно будет также настроить некоторый baseurl для всех apis, поэтому я хочу знать, что для него подходит для кордовы.

Это работает в веб-приложении/браузере, поскольку я визуализирую файлы html и js, а также api с одного и того же экспресс-сервера. Таким образом, имя хоста и порт одинаковы для статического и динамического содержимого и являются localhost во время разработки.

+0

Насколько я знаю, обычно URL и номер порта нет. следует указывать вручную на некоторых страницах настроек в приложении cordova (может быть до входа в систему), и это может быть сохранено в сеансе или локальном хранилище для последующего использования. – Gandhi

+0

Большинство приложений будут иметь предопределенный сервер, хотя некоторые приложения могут обеспечивать смену сервера. В моем случае это не пользователь приложения, который решает сервер, это приложение, которое решает сервер. Единственное, что я считаю приложением каждого разработчика как другое приложение, но эти приложения используют исходный код, поэтому я рассматриваю некоторую переменную времени сборки. –

ответ

0

Просто используйте javascript global variable. Затем вместо жесткого кодирования url просто используйте глобальную переменную, объединенную с остальной частью вашего пути. Таким образом, вам нужно только установить URL-адрес в одном месте для каждой машины-разработчика.

YourCustomConfig.js
var globalServerUrl = "http://localhost:3000"; Это та часть, которая меняется на Dev машины.

AllOtherFilesNeedingToUseTheUrl.js
globalServerUrl + "/the/rest/of/your/path" везде построить путь для запроса HTTP. Ни один из них никогда не понадобится обновлять снова.

Убедитесь, что значение этой глобальной переменной устанавливается на ваш производства сервера местоположения в системе управления версиями, и вы хорошо идти.

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