2017-02-23 5 views
0

ここで問題を把握するために質問があります。私はカスタムHttpクラス、ExtendHttpを作成しました。このクラスは、Angular2 Httpクラスを拡張し、npmモジュールとしてパッケージ化しています。それはコンパイルし、テストケースをプロジェクト内で実行しますが、npmモジュールを使用して他のプロジェクトにインポートすると、次のエラーメッセージが表示されます:タイプ 'ConnectionBackend'の引数をタイプ 'ConnectionBackend'のパラメータに割り当てることができません

重大度: 'タイプ'の引数 'ConnectionBackend' 'ConnectionBackend'タイプのパラメータに割り当てられないのは です。タイプ ' 'のプロパティ 'createConnection'は互換性がありません。 タイプ '(request:any)=>接続'は '(request:any)=>接続'には割り当てられません。この名前が の2つの異なるタイプが存在しますが、それらは無関係です。 タイプ 'Connection'はタイプ 'Connection'に割り当てられません。この名前の2つの異なるタイプが存在しますが、それらは無関係です。 プロパティ 'request'の種類は互換性がありません。 タイプ '要求'はタイプ '要求'に割り当てられません。この名前の2つの異なるタイプが存在しますが、それらは無関係です。 プロパティ 'ヘッダー'の種類は互換性がありません。 タイプ 'ヘッダー'はタイプ 'ヘッダー'に割り当てられません。この名前の2つの異なるタイプが存在しますが、それらは無関係です。 型には、プライベートプロパティ 'mayBeSetNormalizedName'の別々の宣言があります。時:'35、42' ソース: 'tsの'

これは私のカスタムHTTPクラスです:

@Injectable() 
export class ExtendedHttp extends Http { 
    private logger: Logger; 
    constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions, 
       private config: ApplicationConfiguration, 
       private evtsrv: EventService) { 
     super(_backend, _defaultOptions); 
     this.logger = new Logger(config.getLoggerConfig()); 
    } 
... 
} 

これは私が私の他のプロジェクトでそれを使用する方法である:

@NgModule() 
export class CoreModule { 
    static forRoot(authzrule: AuthzRule[]): ModuleWithProviders { 
    return { 
     ngModule: CoreModule, 
     providers: [ 
     { provide: UserSessionStorageService, useClass: UserSessionStorageService }, 
     { 
     provide: Http, 
     useFactory: (xhrBackend: ConnectionBackend, requestOptions: RequestOptions, 
      config: ApplicationConfiguration, evtservice: EventService) => 
      new ExtendedHttp(xhrBackend, requestOptions, config, evtservice), 
     deps: [ConnectionBackend, RequestOptions, ApplicationConfiguration, EventService] 
}, 
+0

カスタムHttpクラスのコードを投稿してください。 –

+0

'AppModule'の関連部分とあなたが使っているインポートを追加してください –

+0

' HttpModule'はどこでインポートしますか? TypeScriptのインポートも追加してください。 –

答えて

0

私がnpmモジュールをインポートするプロジェクトにCoreModuleを書くことを実現した後は、CoreModuleを書き戻してプロジェクトを開始し、それをnpmモジュールと一緒にパッケージ化して問題を解決してください。

時間が&のGünterZöchbauerありがとうございました。どこに間違ったのか分かります。

関連する問題