Как получить переменные среды на основе среды сборки динамически во внешнем файле extconfig. js в angular - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть конфигурация в файле angular. json, указывающая на разные «URL» для разных сборок

angular. json

configuration:{
   'dev':{
      "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.qa.ts"
                }
    },
   qa:{

  }
}

environment.dev. ts

export const environment = {
 appServer: "https://....."
}

environment.prod.ts

export const environment = {
 appServer: "https://....."
}

Я хочу создать файл extconfig. js (внешний js), сохраняющий активы и помещающий его в angular. json file

config. js

var baseUrl = '' ; <==========// environment.appServer based on build condition

Он должен использоваться для обработки "appServer" переменных среды на основе среды сборки при запуске через "* 1017". * или ng build --configuration=prod.

Это необходимо, поскольку файл "extconfig. js" будет содержать глобальные переменные, содержащие переменные конфигурации, служащие для других внешних js, которые могут потребовать baseUrl для ajax вызова

1 Ответ

0 голосов
/ 19 февраля 2020

Если я правильно понимаю, вы можете создать config.prod.ts и config.ts в одной папке, каждая из которых содержит версию вашего appServer url. затем вы можете импортировать вашу конфигурацию из папки в ваших службах.

import { extConfig } from './config-specifics';

var baseUrl = extConfig.appServerUrl

и в вашем angular.json.

"fileReplacements": [
        {
          "replace": "apps/app-name/src/app/config-specifics/config.ts",
          "with": "apps/app-name/src/app/config-specifics/config.prod.ts"
        }
      ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...