Apollo 与 Angular 快速入门:未知错误
Posted
技术标签:
【中文标题】Apollo 与 Angular 快速入门:未知错误【英文标题】:Apollo with Angular Quickstart : Unknown error 【发布时间】:2017-10-19 07:55:23 【问题描述】:我是网络开发的新手,我完全迷路了。
我想开发一个 Web 应用程序,其后端使用 Django 开发,前端使用 Angular 开发。我希望通过 Apollo 和 GraphQL 来完成后端和前端之间的交互。
考虑到这一点,我开始在 Django 中开发几个简单的模型,并使用 Python 包 graphene 进行一些查询。它似乎运行良好,所以现在我尝试开发一个简单的 Angular 应用程序来呈现 Django 创建的模型的实例。
这就是我卡住的地方。我已经下载了 Angular 教程 (https://github.com/angular/quickstart) 中使用的 Angular Quickstart 来开始测试 Apollo。我在终端中运行了以下命令:
$ git clone https://github.com/angular/quickstart.git
$ cd quickstart
$ npm install
此外,为了安装 Apollo,我运行了以下命令:
$ npm install whatwg-fetch apollo-client apollo-angular graphql-tag --save
最后,为了运行本地服务器,我在终端中输入了$ npm start
。这就是引发以下错误的地方:
node_modules/@types/isomorphic-fetch/index.d.ts(8,30): error TS2304: Cannot find name 'fetch'.
我很生气试图解决这个问题,但我没有找到任何关于此的文档,可能是因为我没有广泛的 Web 开发背景。
我正在使用节点 v6.10.3、npm v3.10.10 和 Ubuntu 16.04 LTS。任何解决问题的建议或帮助将不胜感激,谢谢。
【问题讨论】:
【参考方案1】:您已安装的@types/isomorphic-fetch
的发布(apollo-client
的部门之一)假定您拥有window.fetch
的声明。
TypeScript 的 ~2.3 版本在 dom
库中有该定义,我认为这就是 Apollo 和 @types/isomorphic-fetch
决定以这种方式工作的原因。
有两种解决方案:
安装@types/whatwg-fetch
包(或其他)或自行定义fetch
将 TypeScript 更新到 2.3.X(并在 compilerOptions.lib
中指定了 dom
【讨论】:
【参考方案2】:您的打字有问题,请尝试安装@types/whatwg-fetch
。
【讨论】:
以上是关于Apollo 与 Angular 快速入门:未知错误的主要内容,如果未能解决你的问题,请参考以下文章
Angular Apollo GraphQL watchQuery 与订阅
如何将 Angular/Apollo 客户端与 graphene-django 集成?