【问题标题】:Apollo with Angular Quickstart : Unknown errorApollo 与 Angular 快速入门:未知错误
【发布时间】: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。任何解决问题的建议或帮助将不胜感激,谢谢。

【问题讨论】:

    标签: node.js angular typescript graphql apollo


    【解决方案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

      【讨论】:

        猜你喜欢
        • 2023-03-15
        • 2018-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多