ここで問題を把握するために質問があります。私はカスタム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]
},
カスタムHttpクラスのコードを投稿してください。 –
'AppModule'の関連部分とあなたが使っているインポートを追加してください –
' HttpModule'はどこでインポートしますか? TypeScriptのインポートも追加してください。 –