0
私のアプリケーション(ng serve)を提供すると、ConfigurationService.coucou()は期待値を返します。 AppModuleのコンストラクタで--prod(ng serve --prod)、window ['config'] ['coucou']を使用すると期待値が得られますが、valueConfigurationService.coucou()は空の文字列を返します。InjectionToken in prod
AppModule:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { ConfigurationService, COUCOU } from './configuration.service';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [ConfigurationService,{ provide: COUCOU, useValue: window['config']['coucou'] }],
bootstrap: [AppComponent]
})
export class AppModule { }
configuration.service:
import { Injectable, Inject, InjectionToken } from '@angular/core';
export const COUCOU = new InjectionToken<string>('coucou');
@Injectable()
export class ConfigurationService {
private _coucou: string;
get coucou(): string {
return this._coucou;
}
constructor(@Inject(COUCOU) coucou: string) {
console.log('ConfigurationService.coucou : ' + coucou);
this._coucou = coucou ? coucou : "";
}
}