Mam problemy z deklaracjami typu Typescript powielone w następującym przypadku:Typescript powielane deklaracje typu
Mam następujący drzewa zależności dla mojej aplikacji A:
A->@angular/http:2.3.1
A->B->@angular/http:2.3.1
A i B są zarządzane przez npm. Po uruchomieniu
npm install
system plików wygląda następująco:
A/node_modules/
@angular/http
...
B/node_modules
@angular/http
Problem wydaje się, że obecnie istnieją dwie deklaracje Rodzaj @ kątowe/http typy jak Response lub nagłówkami. I jakoś Typescript transpiler wydaje w stanie sobie z tym poradzić - co skutkuje następującym komunikatem o błędzie:
TS2453: Typ argumentem typu parametru „t” nie można wywnioskować z użytkowania. Rozważmy jawne podanie argumentów typu. Argument typu kandydata "Odpowiedź" nie jest poprawnym typem argumentu , ponieważ nie jest to supertypcja kandydata "Response". Typy nagłówków " " są niezgodne. Nie można przypisać nagłówka " ", aby wpisać "Nagłówki". Typy mają oddzielne deklaracje prywatnej właściwości "mayBeSetNormalizedName".
Czytanie wiadomości, wydaje mi się, że jest to typowy plik, który nie jest w stanie dorównać deklaracjom typu duplikowanego.
Ktoś doświadczył tego samego problemu? Jak poradzić sobie z tym problemem? Jak radzić sobie z takimi kolizjami nazw?
Wiem, że istnieje podobne pytanie: http://stackoverflow.com/questions/42412938/argument-of-type-connectionbackend-is-not-assignable-to-parameter-of-type-con. Odpowiedź nie jest naprawdę satysfakcjonująca, ponieważ w moim przypadku nie mogę (nie chcę) po prostu przenieść źródła z B do A. Musi być inny sposób. – Robert