1

JiT コンパイルではすべて正常に動作しますが、AoT でコンパイルしようとすると、次のコンパイル エラーが発生します。誰が何が起こっているのか説明できますか?

auth0-lock v.10.4.0 と angular2-jwt v.0.1.24 を使用しています

エラー:

Module '".../node_modules/angular2-jwt/angular2-jwt"' has no exported member 'AUTH_PROVIDERS'.

私は遅延読み込みを使用しているので、次のように AuthService と AUTH_PROVIDER の共有モジュールがあります。

import { AuthService } from '../common/auth.service';
import { AUTH_PROVIDERS } from 'angular2-jwt';

@NgModule({
    imports: [CommonModule],
    declarations: [],
    exports: []
})
export class SharedModule {
    static forRoot(): ModuleWithProviders {
        return {
            ngModule: SharedModule,
            providers: [
                AuthService,
                AUTH_PROVIDERS]
        };
    }
}
4

1 に答える 1

1

ここで解決策を見つけました https://github.com/auth0/angular2-jwt/issues/158

AUTH_PROVIDER の代わりに、次のように独自のプロバイダーを作成します。

export function authFactory(http: Http, options: RequestOptions) {
  return new AuthHttp(new AuthConfig({
    // Config options if you want
  }), http, options);
};

// Include this in your ngModule providers
export const authProvider = {
  provide: AuthHttp,
  deps: [Http, RequestOptions],
  useFactory: authFactory
};
于 2016-10-20T12:51:20.220 に答える