Как установить переменную приложения в угловых 6? - PullRequest
0 голосов
/ 08 июня 2018

Я использую Angular 6, где мы можем создать несколько приложений и библиотек, кроме стандартного app.module.Я хочу использовать переменную приложения, такую ​​как префикс URL-адреса или срок действия кэша, который можно использовать во всех библиотеках и приложениях.Но когда я объявляю переменную в environment.ts, я могу ссылаться только на ее корневой каталог, который является папкой src.поскольку другие проекты, в которых я хочу ссылаться на эту переменную, не создаются в ее корневом каталоге, он выдает ошибку во время выполнения, говоря, что не может получить доступ к переменным из папок, не объявленных в его корневом каталоге.

Подскажите, пожалуйста, что-нибудь, что может помочь мне получить доступ к переменной приложения во всех приложениях.

1 Ответ

0 голосов
/ 12 июня 2018

Я наконец нашел решение.

Я создал папку Config на корневом уровне и добавил файл environment.ts.Я скопировал переменные окружения из src / app / environment / environment.ts в Config / environment.ts, но с другими значениями.

Например.В src / app / environment / environment.ts я добавил переменную setTimeout = 3000

export const environment = {
   production: false,
   setTimout=3000
 };

, а в Config / environment.ts setTimeout = 13000

export const environment = {
   production: false,
   setTimout=13000
 };

в app.component.я использовал эту переменную setTimeout.

 constructor(){
    console.log("timeout is "+environment.setTimeout);
 }

Я запустил его в dev env, и он утешил 3000.

Теперь я заменил следующую строку в angular.json

"configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ]

на

"configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "Config/environment.ts"
            }
          ]

Затем я запустил ng serve [MyAppName] --prod .

И пошел в папку dist / myapp и запустил lite-server для развертывания и запуска приложения локально.И мое значение setTimeout из config / environment.ts заменило то, которое использовалось при разработке в app.component.ts из файла environment / environment.ts.Он утешил 13000.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...