typescript-typdefinition för globala bibliotek


Jag har ett problem med typer i TS.

Jag har laddat några globala bibliotek i index.html-filen och jag vill använda dem i min main.ts

Jag kan inte installera biblioteket från npm för att använda dess inbyggda definition och det finns inga definitioner för det i @types-paketet.

Hur kan jag introducera min egen .d.ts-fil som dess definition?

Jag hade försökt /// <reference path="path/to/file/myModule.d.ts"/> och i den filen har jag något som detta

declare namespace X {
...
...
}

men när jag i main.ts-filen vill använda X.type som en typ kommer det att ge fel

TS2503: Kan inte hitta namnområdet 'X'.

Vad ska jag göra?

Svar #1

Du kan ange egen katalog med typdefinitioner i tsconfig.json t.ex. typings-katalog:

{
   "compilerOptions": {
       "typeRoots" : ["./node_modules/@types", "./typings"]
   }
}

Om du anger typeRoots-egenskapen i konfigurationen kommer node_modules/@types (som är standard) inte att tas i beaktande, så det är därför du bör ange de två i en array