web-dev-qa-db-fra.com

Importer un nœud et exprimer avec des typages en TypeScript

J'essaie de configurer une application Express/node TypeScript dans Visual Studio Code en suivant le guide Microsoft mais en le modifiant pour utiliser TypeScript cependant quand il s'agit d'installer les définitions de type à l'aide de typings I semblent devoir installer plus de paquets que le guide.

J'exécute la paire de commandes suivante:

typings install node --ambient --save
typings install express --ambient --save

Cependant, la tentative de génération avec uniquement ces packages donne le type d'erreur suivant:

error TS2307: Cannot find module 'serve-static'.

Pour les saisies suivantes:

  • mime
  • express-serve-static-core
  • servir-statique

Je peux résoudre ce problème en installant les saisies requises, mais il semble que quelque chose devrait être fait par lui-même.

Je voulais vérifier si je manquais une étape fondamentale pour récupérer automatiquement les dépendances ou si le guide était obsolète?

Au cas où cela serait pertinent, mon tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
        "outDir": "bin",
        "sourceRoot": "src"
    },
    "exclude": [
        "node_modules",
        "typings/browser.d.ts",
        "typings/browser"
    ]
}

Mon tsc est la version 1.8.7 et j'ai installé TypeScript dans le monde.

23
Underscore

Depuis la sortie de TypeScript 2.0 le mois dernier, l'outil recommandé pour l'installation des typages est notre vieil ami fidèle npm au lieu de typings ou tsd.

npm install @types/node --save

Avec npm, plus besoin de s'inquiéter des installations "globales" ou "ambiantes".

Vous n'avez pas non plus à vous soucier de l'ajout de <reference> balises en haut de vos fichiers source; déposez simplement la propriété suivante dans votre compilerOptions dans tsconfig.json, et le compilateur TypeScript trouvera automatiquement les typages npm que vous avez installés:

"typeRoots": [ "node_modules/@types" ]

Voici un article de blog qui explique le changement de manière plus détaillée: https://blogs.msdn.Microsoft.com/TypeScript/2016/06/15/the-future-of-declaration-files/

31
Josh1billion

Le tutoriel que j'ai lié a maintenant été mis à jour pour inclure les commandes suivantes:

typings install node --ambient
typings install express serve-static express-serve-static-core --ambient

Voir @cdbajorin comment pour savoir pourquoi les dépendances ne sont pas téléchargées automatiquement.

8
Underscore

pour sauver tout le monde un mal de tête, la commande magique pour obtenir les saisies pour le nœud est maintenant:

typings install node --source env --global --save

2
Will Munn