typescript - Fă compilatorul conștient de definiția de tip global pe care am instalat-o prin npm @types


Acum putem instala fișiere de declarație în felul acesta.

npm install --save @types/whatwg-fetch

Tipurile se instalează aici.

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

Printre altele, whatwg-fetch/README.md spune asta.

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

Și documentația TypeScript spune asta:

Implicit, toate pachetele vizibile „@types” sunt incluse în compilarea ta. Pachetele din node_modules/@types ale oricărui folder înconjurător sunt considerate vizibile...

În ciuda acestui fapt, la compilarea proiectului meu cu TypeScript 2.0, apar următoarele erori:

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'.

Ce trebuie să facem pentru ca compilatorul să fie conștient de aceste tipuri?

Ca soluție temporară, am adăugat următoarele în fișierul nostru tsconfig.json. Din documentația TypeScript, totuși, acest lucru nu ar trebui să fie necesar.

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