Проверка удаленного URL-адреса в зависимости от конфигурации

Я новый пользователь NativeScript и пытаюсь понять, как заставить мое приложение выполнять вызов GET на удаленный сервер в зависимости от среды. В мире Java мы передаем переменную среды, но я не нашел примера (который я понимаю), демонстрирующего, как мое мобильное приложение NativeScript узнает, в какой среде оно работает, и как получить значения на основе этого.

Я предполагаю, что у меня будет config/ с такими файлами, как prod.conf.js и dev.conf.js, и там я буду помещать свои URL-адреса и другие значения конфигурации.

Как мне заставить мой NativeScript (который я в конечном итоге встрою в iOS) достигать этих значений для использования в HTTP-запросе при запуске. Будем очень признательны за любой пример направления к документации.

Ответ: наконец-то я решил проблему, воспользовавшись предложением Manoj о nativescript-dev-appconfig. Для любого новичка, ищущего помощь, попробуйте это:

  • {PROJECT_ROOT}/config — создайте файлы среды как {env}.json. Эти файлы представляют собой просто json с парами имя-значение нужных вам значений. В некоторых случаях это введите здесь описание изображения

Когда вы делаете свою сборку: tns build ios --bundle --env.config {dev | test | prod } Это возьмет содержимое выбранного файла env.config (т.е. -env.config dev и скопирует его как - {PROJECT_ROOT}/app/config.json .

Чтобы использовать его в своем коде,

import config from "../config.json";
axios.get(config.MY_URL).then(result => {...}

person sonoerin    schedule 03.11.2018    source источник


Ответы (1)


К сожалению, использование файлов конфигурации на основе среды официально не поддерживается, но есть плагин, который вы можете пытаться.

У нас также есть поддержка переменных среды на основе веб-пакетов, подробнее об этом читайте в документы.

person Manoj    schedule 03.11.2018
comment
Спасибо, я посмотрю, смогу ли я разобраться с веб-пакетом и развернуть его на локальном, тестовом и производственном серверах. - person sonoerin; 06.11.2018
comment
Мне удалось заставить плагин работать, поэтому теперь я могу запускать столько сред, сколько мне нужно. WebPack также поддерживает это, но я предпочитаю подход nativescript-dev-appconfig. Я обновляю свой пост с ответом на будущие вопросы... - person sonoerin; 15.12.2018