Я хочу, чтобы базовый URL моего API изменился с dev
на prod
. У пользователя Angular I использовать файл config.json
, который был позже введен в приложение, используя grunt-env
Как установить константу в aurelia по окружению
ответ
Если вы хотите «ввести» его только один раз, то что мешает вам использовать простой модуль ES6? Он должен загружаться только один раз с сервера.
Например, вы могли бы что-то подобное в config.js файле: (! Предупреждаю я не пытался запустить его)
export var Config = {
path : 'path to find'
};
вы можете использовать модуль в любом месте вам это нужно:
import {Config} from 'config';
Да, вводится однократно, но _different_ значения при запуске локально и при запуске на производстве. В Angular + grunt я использовал 'grunt serve' как константы DEV, а' grunt build' - производственные константы. – amitaibu
Если вы используете Aurelia CLI, он сгенерирует каталог environments
внутри вашего aurelia_project
.
В этом каталоге вы можете настроить экологические конфигурации, которые будут скопированы в файл environment.js в вашем каталоге src
, на основании флага --env [dev/stage/prod]
, который вы передадите в свои команды au build/run
.
Затем вы можете использовать import environment from './environment'
для доступа к своим конфигурационным значениям.
Другой вариант, который вы можете изучить, - это Aurelia Configuration Plugin, который также имеет динамические конфигурации окружающей среды.
Это довольно открытый вопрос, потому что все зависит от того, как вы обслуживаете, и определенно можете быть в соответствии с личным выбором. Я не вижу ничего плохого в том, чтобы поместить его в файл 'json' –
. Я бы не хотел читать этот json-файл снова и снова - было бы разумнее вставить его однажды (где-то) в конфигурацию – amitaibu
Да, это это то, что я имел в виду, просто использовать http-клиент для его чтения один раз должно быть супер простым. –