Búsqueda de sitios web

definición de tipo de TypeScript para bibliotecas globales


Tengo un problema con los tipos en ts.

He cargado algunas bibliotecas globales en el archivo index.html y quiero usarlas en mi main.ts

No puedo instalar la biblioteca desde npm para usar su definición incorporada y no hay definiciones para ella en el paquete @types.

¿Cómo puedo introducir mi propio archivo .d.ts como su definición?

Había intentado /// <reference path="path/to/file/myModule.d.ts"/> y en ese archivo tengo algo como esto

declare namespace X {
...
...
}

pero cuando en el archivo main.ts quiero usar X.type como un tipo, generará un error

TS2503: No se puede encontrar el espacio de nombres 'X'.

¿Qué debo hacer?

Respuesta #1

Puedes establecer tu propio directorio con definiciones de tipos en tsconfig.json, por ejemplo, el directorio typings:

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

Si configuras la propiedad typeRoots en la configuración, node_modules/@types (que está por defecto) no se tendrá en cuenta, por eso deberías establecer esos dos en el array