baseHref
誰か、angular-cli でこれを実現する方法を知っていますか? ビルド中に選択された環境に基づいて、環境変数にパスを保存し、baseHref パスを設定できるようにしたいと思い/src/environments/environment.x.ts
ます。
このようなもの:
環境.ts
export const environment = {
production: false,
baseHref: '/'
};
環境.prod.ts
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 {}
見る角度ドキュメント
編集
CSS/JS は APP_BASE_HREF では動作しないため、次のようにします。
でアプリコンポーネント、DOCUMENTを注入する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);
}
}