typescript - Varför måste jag specificera typer i tsconfig.json om typspecifikationerna redan finns i package.json
Jag har "@types/gapi.client.gmail": "~1.0.3" i package.json.
Jag hade också detta i tsconfig.json:
"types": [
"jest",
"gapi",
"gapi.auth2",
"gapi.client.docs"
],
Jag kan inte komma ihåg varför de där uttalandena finns där. Men nu när jag lägger till Gmail-stöd i min app vill jag förstå varför jag behöver lägga till Gmail i denna typ-array, så att den blir:
"types": [
"jest",
"gapi",
"gapi.auth2",
"gapi.client.docs",
"gapi.client.gmail"
],
Utan detta tillägg får jag:
TS2339: Property 'gmail' does not exist on type 'typeof client'.Varför måste jag lägga till typer i tsconfig-arrayen om typerna redan är deklarerade i package.json som beroenden?
Svar #1
När du definierar dina typer på det sättet kommer bara typerna i listan att importeras, och inte alla tillgängliga typer under dina node_modules.
Relevanta dokument- https://www.typescriptlang.org/tsconfig#types