typescript - Få compileren til at blive opmærksom på global type-definition, som vi installerede via npm @types


Vi kan nu installere deklarationsfiler på denne måde.

npm install --save @types/whatwg-fetch

Typene installeres her.

node_modules
  @types
    whatwg-fetch
      index.d.ts
      package.json
      README.md
      types-metadata.json
    whatwg-streams
      index.d.ts 
      package.json
      README.md
      types-metadata.json

Blandt andet siger whatwg-fetch/README.md dette.

 * File structure: Global
 * Global values: Headers, Request, Response, fetch

Og TypeScript-dokumentationen siger dette:

Som standard er alle synlige „@types“ pakker inkluderet i din kompilation. Pakker i node_modules/@types i enhver omsluttende mappe betragtes som synlige...

På trods af det opstår følgende fejl, når jeg kompilerer mit projekt med TypeScript 2.0:

aurelia-fetch-client.d.ts(17,23): error TS2304: Cannot find name 'Request'.
aurelia-fetch-client.d.ts(17,45): error TS2304: Cannot find name 'Response'.
aurelia-fetch-client.d.ts(68,13): error TS2304: Cannot find name 'Headers'.

Hvad skal vi gøre for at gøre compileren opmærksom på disse typer?

Som en midlertidig løsning har vi tilføjet følgende til vores tsconfig.json-fil. Ifølge TypeScript-dokumentationen burde dette dog ikke være nødvendigt.

"compilerOptions": {
    "types": [ "whatwg-fetch" ],

Relaterede artikler