type number listas enum array typescript tsd typescript-typings

number - ¿Cómo debo usar @types con TypeScript 2?



typescript object type (4)

¿Cómo debo convertir mi proyecto actual para trabajar con @types

Definitivamente recomiendo aguantar un poco más.

por ejemplo, los problemas aún se están solucionando ... hace solo 4 horas: https://github.com/Microsoft/TypeScript/issues/9725#issuecomment-233469422

Hasta ahora estamos acostumbrados a tsd o (La mejor versión del mismo) tipings

Pero ahora que TypeScript 2 ofrece la nueva función @types , ¿cómo debo convertir mi proyecto actual para que funcione con @types?

Tengo tsd.json (typings.json es algunos casos) con todas las dependencias, ¿cuáles son los pasos para pasar a TypeScript 2?

¿Cuáles son las nuevas mejores prácticas? ¿@Types admite versiones específicas?


Es muy sencillo. Simplemente instale las definiciones que necesita a través de npm.

Por ejemplo, si necesita lodash, puede hacer:

npm install --save @types/lodash

Una vez que esté instalado, puede usarlo de inmediato en su proyecto. TypeScript resolverá las tipificaciones para el paquete @types instalado desde la carpeta node_modules / @ types de forma predeterminada. Ya no es necesario un archivo tsd.json o typings.json .

Puntos adicionales:

  • La versión mayor y menor del paquete @types en npm debe corresponder con la versión del paquete.
  • Puede buscar tipos aquí: http://microsoft.github.io/TypeSearch/
  • Lea sobre typeRoots y los types aquí . Preste atención específicamente a estos dos puntos:
    • Si typeRoots se especifica en tsconfig.json , solo se usarán las carpetas especificadas para las raíces de tipo. Eso excluirá ./npm_modules/@types/ a menos que lo especifique.
    • Si los types se especifican en tsconfig.json , solo se incluirán los paquetes especificados.

Lea más en la publicación del blog here .


Parece que todos son paquetes npm, puedes encontrar todos los compatibles here .

tsc recogerá cualquier tipo en la carpeta node_modules .

Puede mover las dependencias que tenga en typings.json en package.json (siempre que cambie los nombres también, por supuesto).

Puedes leer más sobre eso here .


TypeScript 2.0 elimina el sistema Typings anterior.
Ahora, Typecript 2.0 debería buscar por defecto ./node_modules/@types y obtener los tipos que instaló como módulos de nodo separados, por ejemplo, npm install --save @types/react (como lo menciona @David Sherret)

Hay un error en la versión actual de Typecript 2.0 beta , que no carga nuevos tipos. Manualmente a través de cmd, el nuevo tsc compila archivos, pero no hay compatibilidad con IntelliSense en VS 2015, y no se muestran errores mientras un archivo .ts está en modo de edición.

Para resolverlo, modifique tsconfig.json con configuraciones similares:

{ "compilerOptions": { // ... other config rows "typeRoots": [ "node_modules/@types/" ], "types": [ "jquery", "react", "react-dom", /*... your other types */ ], } }

Para mí, la declaración manual de "types" ayudó a resolver este problema, para otros muchachos, "typeRoots" ayudó. Esperemos que ahorre horas de desarrollador.