Правильно используя окружающую среду.ТС в моем приложении angular4 с углового-Кинк

Я использую Intellij Ultimate для код моего угловые 4 приложения.

Я создал новый проект угловой 4, он содержит среду.ТСиокружающей среды.прод.ТС и сред настроены правильно в угловой-Кинк.формат JSON`.

как я могу импортировать его в мой код? Поскольку на самом деле, когда я построить его, я государство, окружающая среда использовать. Как это работает? Мне нужно что-то компилировать с Intellij?

Я попытался погуглить и нашел много примеров, когда люди, фактически ввезенных в определенной среде.файл ТС. но, что's не хорошо, верно? Поскольку он будет использовать ту же среду.файл TS даже если я построю на разных условиях.

Что мне делать?

Комментарии к вопросу (1)
Решение

Вот очень хорошая статья на файлы среды с угловой командной строки: http://tattoocoder.com/angular-cli-using-the-environment-option/

В резюме, вы импортировали среду.ТС-но правильный файл будет импортирован в зависимости от того, в какой среде он находится. угловые CLI будет заботиться о том, как объяснено в статье.

Комментарии (6)

У меня был этот же вопрос, и нашел ту же статью, что выложил @Ахмед. Однако, что это'т исправить мою проблему: я только что получил:

ERROR in XXX/src/app/app.component.ts (19,29): Cannot find module './environment'.

Я'м работает с создано сборки через НГ новый, так что если вы работаете с последними угловые клиента вы, скорее всего, та же проблема у меня была. Как говорится, @Ахмед в своем комментарии на его ответ, важно, что вы получите относительный путь правильный. (Нынешней) версии НГ Кинк ставит свой главный компонент приложения здесь:

projectFolder/app/src/app.component.ts

А вот файл среды:

projectFolder/app/environments/environment.ts

Поэтому правильная линия включает окружающую среду внутри вашего приложения.компонент это:

import { environment } from '../environments/environment';

Небольшой и"особенность" и: окружающей среды.ТС-это фактически файл конфигурации среды для среды разработки. Однако, во время выполнения (либо из-заНГ строить командуилиНГ подавать команду`), этот файл будет заменен на любой реальной среде государства. Так что даже если вы явно включая файл среды разработки, во время выполнения вы будете получать переменные среды для любой среды. Мне это кажется странным, но это работает, и кажется, что это, как он предназначен для работы.

Комментарии (0)

У меня было много проблем с получением этой работы. Пытался следовать так много учебников, НГ служить просто не'т самовывоз что-нибудь вне среды разработки. Я, наконец, смог заставить его работать со следующим:

.угловые-Кинк.JSON-файл

  ....
  "environmentSource": "environments/environment.ts",
  "environments": {
    "dev": "environments/environment.dev.ts",
    "test": "environments/environment.test.ts",
    "prod": "environments/environment.prod.ts"
  }
  ....

Файлы среда в группе ./src и папка следующую структуру

./environments
|--environment.ts
|--environment.test.ts
|--environment.prod.ts
|--environment.dev.ts

среды.файл TS:

    export const environment = {
        production: false,
        apiBase: 'http://dev-server:4200/app/',
        env: 'dev'
    };

среды.тест.файл TS

    export const environment = {
        production: false,
        apiBase: 'http://test-server:2080/app/',
        env: 'test'
    };

среды.прод.файл TS

    export const environment = {
        production: true,
        apiBase: 'http://prod-server:2080/app/',
        env: 'prod'
    };

**Не создавать другую среду.файл ТС в ГКЗ.

приложение.модуль.ТС или любых других компонентов, где вы хотите использовать свойства окружающей среды. Не забудьте импортировать среды из папки ../сред. Я сделала ошибку в учебнике и создания среды.ТС под папку src, которая не работает для меня.

import { environment } from '../environments/environment';
export class AppModule {
    constructor() {
       console.log('Base Api :' + environment.apiBase +
            ' production? ' +  environment.production +
            ' env: ' + environment.env);
    }
}

Надеюсь, что это помогает.

Кстати, я сделал это с углового 5.

Комментарии (1)

Сред было't работа для меня с @угловое/ЦПИ 1.2.4, но они сделали нагрузке ок с `1.3.2, поэтому убедитесь, что вы используете последнюю версию серии.

Комментарии (0)