嗨,伙计们,我有个问题。我正在尝试将Apollo包含在我的Angular 6项目中,当我想要运行我的应用程序时,我遇到了一个问题。我收到这个错误。
ERROR in node_modules/apollo-angular/types.d.ts(10,58): error TS2304: Cannot find name 'Exclude'.在tsconfig.json的lib中,我有:
"lib": [
"esnext.asynciterable",
"es2017",
"dom",
]但是我仍然收到这个错误。我可以更改什么才能运行我的应用程序?
发布于 2018-09-12 22:39:14
遇到了同样的问题,但使用了另一种方法(hack)。apollo-angular似乎在tsconfig.json选项中使用了Angular 6所不能使用的类型"Exclude“,所以添加如下所示的"es5”就可以解决这个问题:"lib": [ "esnext.asynciterable", "es5", "es2017", "dom", ]
如果这不起作用,您可以在node_modules/apollo-angular/types.d.ts文件中直接将此类型声明为:
declare type Exclude<T, U> = T extends U ? never : T;
最后一个选项是一个hack,将被任何"npm install“或apollo-angular更新所覆盖,因此请谨慎使用。
发布于 2018-10-04 18:06:06
我遇到了同样的问题,并通过运行以下cmd命令解决了它:
保存npm安装类型@2.9.2--
-
发布于 2018-09-12 22:16:23
所以我把typescript版本更新到了2.8.1,现在它可以工作了。问题是现在我收到了一个来自angular的警告,因为angular期望版本低于2.8.0,但这只是一个警告,我可以隐藏它。
https://stackoverflow.com/questions/52296514
复制相似问题