현재 호스트 환경에 종속적 인 사용자 정의 각도 라이브러리를 만들고 있습니다. 이상적으로, 서비스를 사용하기 위해 내 모듈의 forRoot
메소드에서 몇 가지 환경 변수를 전달하기를 원할 것입니다. 그러나 어떤 응용 프로그램이 어떤 환경에서 사용하고 있는지에 따라 다릅니다. 그러나 angular-cli로 컴파일 할 때 오류가 발생합니다. 내 environment.ts
의 변수를 단지 app.module.ts
에 전달합니다.환경 파일을 사용자 정의 각도 2 모듈에 전달
오류 : ERROR in Error : 오류가 발생하여 정적으로 기호 값을 확인하는 중 오류가 발생했습니다. 함수 호출은 지원되지 않습니다. 함수 또는 람다를 내 보낸 함수 (원래 .ts 파일의 19:24 위치)에 대한 참조로 대체하고 /Users/griffin/DCP/customer-dashboard/src/environments/environment.ts의 심볼 환경을 해석하고 /Users/griffin/DCP/customer-dashboard/src/app/app.module.ts에있는 AppModule의 심볼 AppModule을/Users/griffin/DCP/customer-
에 넣으십시오.맞춤 모듈의 색인은 현재 이와 같이 설정되어 있습니다. :
@NgModule({
declarations: [],
exports: [],
providers: [
AuthService
],
imports: [
HttpModule,
BrowserModule
]
})
export class CommonAuthModule {
static forRoot(config: AuthServiceConfig): ModuleWithProviders {
return {
ngModule: CommonAuthModule,
providers: [
{provide: AuthServiceConfig, useValue: config }
]
};
}
그리고
는 각도 프로젝트에 나는이 같은 수입하고 있습니다 :import { CommonAuthModule } from '@dcp/common-auth';
import { environment } from '../environments/environment';
@NgModule({
declarations: [
AppComponent
],
imports: [
CommonAuthModule.forRoot(environment.authConfig) // Import here
...
})
export class AppModule { }
environment.authConfig은 단순 객체에게
authConfig: {
authenticationUrl: 'https://streamworks.auth0.com/login?client=',
clientId: 'f98h3f3fdsousfoihohfjwe0',
auth0Domain: 'streamworks.auth0.com'
}
되고 AuthServiceConfig 내가 this 후 같은 유사한 문제를 보았다 간단한 클래스
export class AuthServiceConfig {
clientId: string = ''
auth0Domain: string = '';
authenticationUrl: string = '';
}
입니다. 이것은 AoT 컴파일과 관련이 있습니까? AoT를 우회하여 프로젝트를 구축했지만 여전히 동일한 오류가 발생했습니다.
분명히 올바른 방향입니다. 하지만 forRoot 메소드를 통해 내 라이브러리의 "useValue"값으로 COMMON_CONFIG를 어떻게 제공 할 수 있습니까? – gciluffo