Jusqu'ici, nous sommes habitués à tsd ou (La meilleure version de celui-ci) dactylographie
Mais maintenant que TypeScript 2 offre le nouveau @types
fonctionnalité, comment dois-je convertir mon projet actuel pour utiliser @types?
J'ai tsd.json (typings.json est quelques cas) avec toutes les dépendances, quelles sont les étapes pour faire le déplacement à TypeScript 2?
Quelles sont les nouvelles nouvelles ? Est-ce que @types supporte des versions spécifiques?
C'est très simple. Installez simplement les définitions dont vous avez besoin via npm.
Par exemple, si vous avez besoin de lodash, vous pouvez faire:
npm install --save @types/lodash
Une fois installé, vous pouvez l’utiliser tout de suite dans votre projet. TypeScript résoudra les typages du paquet @types installé à partir du dossier node_modules/@ types par défaut. Il n'y a plus besoin d'un fichier tsd.json ou typings.json .
Points supplémentaires:
typeRoots
et types
ici . Faites particulièrement attention à ces deux points: typeRoots
est spécifié dans tsconfig.json , seuls les dossiers spécifiés seront utilisés pour les racines de type. Cela exclura ./ npm_modules/@ types/ à moins que vous ne le spécifiiez.types
est spécifié dans tsconfig.json , seuls les packages spécifiés seront inclus.Lire la suite dans le blog ici .
TypeScript 2. se débarrasse du système précédent Typings.
Now TypeScript 2. devrait par défaut regarder dans ./node_modules/@types
et obtenez les types que vous avez installés en tant que modules de nœud distincts, par exemple. npm install --save @types/react
(comme mentionné par @David Sherret)
Il y a un bogue dans la version actuelle TypeScript 2.0 beta, qui ne charge pas de nouveaux types. Manuellement via cmd, le nouveau tsc compile les fichiers, mais VS 2015 n’est pas pris en charge par IntelliSense et aucune erreur ne s’affiche lorsqu'un fichier .ts est en mode édition.
Pour le résoudre, modifiez tsconfig.json
avec les paramètres similaires:
{
"compilerOptions": {
// ... other config rows
"typeRoots": [ "node_modules/@types/" ],
"types": [ "jquery", "react", "react-dom", /*... your other types */ ],
}
}
Pour moi manuel "types"
déclaration a aidé à résoudre ce problème, pour les autres gars "typeRoots"
aidé. J'espère que cela fera gagner du temps au développeur.
On dirait qu’ils ne sont que des paquets npm, vous pouvez trouver tous les paquets supportés ici .
tsc récupérera tous les types dans le dossier node_modules .
Vous pouvez déplacer les dépendances que vous avez dans typings.json dans package.json (à condition que vous changiez aussi les noms bien sûr).
Vous pouvez en lire plus à ce sujet ici .
comment dois-je convertir mon projet actuel pour utiliser @types
Je recommande vivement de rester un peu plus longtemps.
par exemple. les problèmes sont toujours en cours de réparation ... il y a à peine 4 heures: https://github.com/Microsoft/TypeScript/issues/9725#issuecomment-233469422