Apollo-link: Fehlende Eingaben

Erstellt am 12. März 2018  ·  3Kommentare  ·  Quelle: apollographql/apollo-link

Erwartetes Verhalten
Erfolgreicher Build beim Ausführen von tsc

Tatsächliches Verhalten
tsc gibt folgenden Fehler aus:

node_modules/apollo-link-http-common/lib/index.d.ts(3,15): error TS2304: Cannot find name 'Response'.
node_modules/apollo-link-http-common/lib/index.d.ts(8,15): error TS2304: Cannot find name 'Response'.
node_modules/apollo-link-http-common/lib/index.d.ts(37,13): error TS2304: Cannot find name 'GlobalFetch'.
node_modules/apollo-link-http-common/lib/index.d.ts(53,81): error TS2304: Cannot find name 'Response'.
node_modules/apollo-link-http-common/lib/index.d.ts(54,54): error TS2304: Cannot find name 'RequestInfo'.
node_modules/apollo-link-http-common/lib/index.d.ts(54,74): error TS2304: Cannot find name 'RequestInit'.
node_modules/apollo-link-http-common/lib/index.d.ts(54,98): error TS2304: Cannot find name 'Response'.

Eine _einfache_ Reproduktion
src/index.ts

import 'isomorphic-unfetch';
import { ApolloClient } from 'apollo-client';
import { createHttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';

export const apolloClient = new ApolloClient({
  link: createHttpLink({
    uri: process.env.API_ENDPOINT
  }),
  cache: new InMemoryCache()
});

tsconfig.json

{
  "compilerOptions": {
    "outDir": "build",
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "lib": [
      "esnext.asynciterable",
      "es2015",
      "es2016",
      "es7"
    ],
    "sourceMap": true
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules/",
    "**/*.spec.ts"
  ]
}

Problemetiketten

  • [x] hat-Reproduktion
  • [ ] Besonderheit
  • [ ] blockieren
  • [ ] gute erste Ausgabe
has-reproduction

Hilfreichster Kommentar

Mit es5 oder es6 als Compiler-Ziel wird das Problem nicht behoben (und es6 als Ziel). Das Hinzufügen von dom zu lib hat es jedoch behoben.

Alle 3 Kommentare

@j3ddesign Vielen Dank für das Öffnen des Problems! Sehen Sie sich dieses Repo an , insbesondere dieses Commit . Es fügt dom zur Bibliothek hinzu, die diese Typen enthält. Oder Sie können target Ihrer Kompilierungsoption auf es5 oder es6 setzen, was auch diese dom einschließt. Wie können wir dazu beitragen, dies klarer zu machen? Gibt es einen Abschnitt in den Dokumenten, den Sie gerne sehen würden?

Ah interessant. Ich verwende dies in einem Knotenprojekt, habe also dom zu meiner tsconfig hinzugefügt.
Um es klarer zu machen, kann es hilfreich sein, es im Absatz Installation unter https://www.apollographql.com/docs/link/#installation mentioned erwähnt zu haben
Das ist die erste Seite, die ich bei der Fehlerbehebung aufgerufen habe :+1:

Vielen Dank für ein tolles Paket, es war eine große Hilfe, um Dinge schnell zu erledigen :)

Mit es5 oder es6 als Compiler-Ziel wird das Problem nicht behoben (und es6 als Ziel). Das Hinzufügen von dom zu lib hat es jedoch behoben.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen