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 lostypes
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.
-
Si
Lea más en la publicación del blog 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.