Подтвердить что ты не робот

Правильно используя environment.ts в моем приложении angular4 с angular -cli

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

Я создал новый проект angular 4, он содержит environment.ts и environment.prod.ts, а среды правильно настроены в angular-cli.json.

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

Я попробовал поиск по Google и нашел много примеров, когда люди фактически импортировали определенный файл environment.ts. но это... не хорошо? поскольку он будет использовать тот же файл среды .ts, даже если я создам для другой среды.

так.. что мне делать?:)

4b9b3361

Ответ 1

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

вы импортируете environment.ts, но правильный файл будет импортирован в зависимости от того, в какой среде он находится. angular cli заботится об этом, как описано в статье.

Ответ 2

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

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

Я работаю со сборкой, созданной с помощью ng new, поэтому, если вы работаете с последним клиентом angular, у вас, вероятно, будет такая же проблема, как у меня. Поскольку @Ahmed заявляет в своем комментарии к его ответу, важно, чтобы вы получили относительный путь правильно. Текущая версия ng cli помещает ваш основной компонент приложения здесь:

projectFolder/app/src/app.component.ts

И он помещает файл окружения здесь:

projectFolder/app/environments/environment.ts

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

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

Маленькая "функция": environment.ts - фактически файл конфигурации среды для среды разработки. Однако во время выполнения (либо из-за команды ng build, либо команды ng serve) этот файл будет заменен тем, что указано в фактической среде. Поэтому, хотя вы явно включаете файл среды разработки, во время выполнения вы получите переменные среды для любой среды. Мне кажется странным, но он работает, и, похоже, именно так оно и работает.

Ответ 3

Среда не работала для меня с @angular/cli 1.2.4, но они загрузили Ok с помощью 1.3.2