Установите базовый href из переменной среды с помощью ng build
кто-нибудь знает, как это сделать с помощью angular-cli? Я хотел бы иметь возможность хранить baseHref
путь в переменной среды в пределах /src/environments/environment.x.ts
и на основе выбранного окружения во время сборки можно установить путь baseHref.
что-то вроде этого:
окружающая среда.ТС
export const environment = {
production: false,
baseHref: '/'
};
окружающая среда.подгонять.ТС
export const environment = {
production: true,
baseHref: '/my-app/'
};
и тут звонок...
ng build --prod
...и у меня /dist/index.html
показать файл <base href="/my-app/">
.
Я подумал, может быть, если я назвал свою переменную среды так же, как --base-href
опция сборки используется в построить команду что cli может забрать его,но и там нет костей.
есть ли способ ссылаться на переменную среды из командной строки? Что-то вроде ng build --base-href environment.baseHref
?
1 ответов
вам придется использовать APP_BASE_HREF
@NgModule({
providers: [{provide: APP_BASE_HREF, useValue: environment.baseHref }]
})
class AppModule {}
посмотреть угловой doc
редактировать
поскольку CSS/JS не работает с APP_BASE_HREF, вы можете сделать следующее:
на app.деталь.ТС, ввести документ через import {DOCUMENT} from "@angular/platform-browser";
constructor(@Inject(DOCUMENT) private document) {
}
на ngOnInit()
ngOnInit(): void {
let bases = this.document.getElementsByTagName('base');
if (bases.length > 0) {
bases[0].setAttribute('href', environment.baseHref);
}
}