如何解决此 Apollo Control Cache 错误?

Posted

技术标签:

【中文标题】如何解决此 Apollo Control Cache 错误?【英文标题】:How do I solve this Apollo Control Cache error? 【发布时间】:2021-10-24 11:42:42 【问题描述】:

我正在尝试设置我的服务器端后端,但遇到了这个错误:

node_modules/apollo-cache-control/dist/index.d.ts:24:9 - error TS2717: Subsequent property declarations must have the same type.  Property 'cacheControl' must be of type 'ResolveInfoCacheControl', but here has type ' setCacheHint: (hint: CacheHint) => void; cacheHint: CacheHint; '.

24         cacheControl: 
           ~~~~~~~~~~~~

  node_modules/@nestjs/graphql/node_modules/apollo-server-types/dist/index.d.ts:140:9
    140         cacheControl: ResolveInfoCacheControl;
                ~~~~~~~~~~~~
    'cacheControl' was also declared here.

【问题讨论】:

【参考方案1】:

我刚刚找到了解决方法,您必须将其添加到您的 tsconfig.json 文件中:

"skipLibCheck": true

我的 tsconfig.json 看起来像:


  "compilerOptions": 
    "module": "commonjs",
    "esModuleInterop": true,
    "target": "es2015",
    "noImplicitAny": false,
    "moduleResolution": "node",
    "sourceMap": true,
    "outDir": "lib",
    "baseUrl": "./",
    "lib": ["es6", "esnext.asynciterable"],
    "types": ["node"],
    "skipLibCheck": true
  ,
  "include": ["src/**/*"]

【讨论】:

有这个解决方法很好,但我不确定这是一个好的长期解决方案,因为这会影响所有库。我想知道是否有什么可以针对有问题的图书馆做更多的事情? @David 现在我正在继续这个 hack。我完全同意你的看法。【参考方案2】:

确保所有 apollo 软件包(apollo-serverapollo-server-expressapollo-server-core)具有完全相同的版本

【讨论】:

以上是关于如何解决此 Apollo Control Cache 错误?的主要内容,如果未能解决你的问题,请参考以下文章

cors错误:没有'Access-Control-Allow-Origin'标头apollo-server-express

基于`Caché/IRIS`实现`Socket`解决方案

Apollo graphQL 客户端中的 CORS 异常“Access-Control-Allow-Headers 在预检响应中不允许请求标头字段内容类型”

Nuxt + GraphQL (Apollo) 上传文件

Apollo 2.5推基于动态的实时相对地图解决方案

第八章 Caché 设计模式 外观模式