現在、私は、ホスト環境に依存するカスタム角度ライブラリを作成中です。理想的には、私のモジュールのforRoot
メソッドでいくつかのアプリケーションが使用しているサービスとそれらがどの環境にあるかによってサービスを使用するためのカップル環境変数を渡したいと思います。しかし、angular-cliでコンパイルするとエラーが発生します。私のenvironment.ts
から変数を渡すだけでapp.module.ts
になります。環境ファイルをカスタムAngular 2モジュールに渡す
エラーのエラー:シンボル値を静的に解決する際にエラーが発生しました。関数呼び出しはサポートされていません。ファンクションまたはラムダを、エクスポートされた関数(元の.tsファイルの19:24の位置)への参照で置き換え、/Users/griffin/DCP/customer-dashboard/src/environments/environment.tsのシンボル環境を解決し、/Users/griffin/DCP/customer-
のAppModuleを解決する/Users/griffin/DCP/customer-dashboard/src/app/app.module.tsのシンボルAppModuleカスタムモジュールのインデックスは現在このように設定されています:
@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をバイパスしてプロジェクトを構築しようとしましたが、同じエラーが発生します。
確かに正しいトラックに。しかし、私はどのようにCOMMON_CONFIG forRootメソッドを介して私のライブラリの "useValue"の値として提供することができますか? – gciluffo