Rob*_*ert 8 javascript npm typescript angular
在以下情况下,我遇到了重复的Typescript类型声明的问题:
我的应用程序A有以下依赖树:
A->@angular/http:2.3.1
A->B->@angular/http:2.3.1
Run Code Online (Sandbox Code Playgroud)
A和B都由npm管理.跑完之后
npm install
Run Code Online (Sandbox Code Playgroud)
文件系统如下所示:
A/node_modules/
@angular/http
...
B/node_modules
@angular/http
Run Code Online (Sandbox Code Playgroud)
问题似乎是现在有两种@ angular/http类型的类型声明,如Response或Headers.并且不知何故,Typescript转换器似乎无法处理 - 导致以下错误消息:
TS2453:无法根据用法推断类型参数"T"的类型参数.考虑明确指定类型参数.类型参数候选"响应"不是有效的类型参数,因为它不是候选"响应"的超类型.属性"标题"的类型不兼容."标题"类型不能指定为"标题"类型.类型具有私有属性'mayBeSetNormalizedName'的单独声明.
阅读消息,我想这是一个不能匹配重复类型声明的Typescript的hickup.
有谁遇到过同样的问题?如何处理这个问题?如何处理这样的名称冲突?
同时,我发现您可以通过在 A 的 using 类中显式导入相应类型来修复此错误。在我的情况下(上面的错误消息),我需要:
import {Response, Headers} from '@angular/http';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2502 次 |
| 最近记录: |