将 Apollo Angular 2 用于 Angular ts-invariant/lib/invariant.d.ts:7:78 时出错

Posted

技术标签:

【中文标题】将 Apollo Angular 2 用于 Angular ts-invariant/lib/invariant.d.ts:7:78 时出错【英文标题】:Error using Apollo Angular 2 for Angular ts-invariant/lib/invariant.d.ts:7:78 【发布时间】:2021-04-03 17:37:19 【问题描述】:

我不确定为什么会出现此错误,请帮忙。

ERROR in node_modules/@apollo/client/node_modules/ts-invariant/lib/invariant.d.ts:7:78 - error TS1144: '' or ';' expected.

7 export declare function invariant(condition: any, message?: string): asserts condition;
                                                                               ~~~~~~~~~

【问题讨论】:

【参考方案1】:

您使用的是 Visual Studio 吗?我最近遇到了这个错误,就我而言,我认为这是由于打字稿版本过时造成的。我使用 Visual Studio 创建了一个 Angular 项目,它使用 Angular 版本 8,并在按照他们的文档安装 angular-apollo 后看到了这个错误 https://apollo-angular.com/docs/get-started/

我的解决方案是使用 https://update.angular.io/ 将项目从 Angular 版本 8.2 更新到 9.1 之后,我能够使用 angular 示意图安装 angular-apollo,如上述文档的链接中所述。

升级后,在@angular/router 编译步骤运行 ng build 时,您可能还会发现另一个错误。根据此链接Angular 8 to 9 upgrade error when trying to build的答案,打开src/main.ts并删除此行;

export renderModule, renderModuleFactory from '@angular/platform-server';

【讨论】:

以上是关于将 Apollo Angular 2 用于 Angular ts-invariant/lib/invariant.d.ts:7:78 时出错的主要内容,如果未能解决你的问题,请参考以下文章

Apollo + Angular 突变不适用于变量

带有 Apollo 的 Angular graphql

将 Angular 应用程序连接到多个 Apollo 客户端

在 Angular Apollo Graphql 中访问突变结果

Apollo - Angular 应用程序中子组件的多个 graphql 订阅

订阅未定义的错误处理 - Apollo 和 Angular 2