web-dev-qa-db-fra.com

Passer de la saisie au @ types avec Visual Studio et TypeScript 2.0.3

J'ai essayé de supprimer les saisies dans mon projet Web (Communauté Visual Studio 2015) et d'installer les fichiers d.ts via les nouveaux types de NPM @ (TypesScript 2.0.3) dans package.json:

 "dependencies": {
    "@types/angular": "^1.5.8",
    "@types/angular-cookies": "^1.4.2",
    "@types/angular-local-storage": "^0.1.33",
    "@types/angular-material": "^1.1.37",
    "@types/angular-translate": "^2.4.33",
    "@types/lodash": "^4.14.36"
  }

IntelliSense de Visual Studio fonctionnait bien avec les saisies car j’avais inclus le dossier des saisies dans mon projet VS. NPM installe les types dans le dossier node_modules/@types. Maintenant voici mon problème. Je ne veux pas vraiment inclure quoi que ce soit de node_modules dans le projet VS. Le dossier node_modules devrait être correct pour être supprimé et recréé de nouveau par npm à volonté . Visual Studio ne reconnaît pas les typages installés sans qu'ils soient inclus dans le projet! // référence des balises dedans mais je devrais alors maintenir ce fichier manuellement lors de l'installation/suppression de typages.

Existe-t-il un moyen recommandé de faire fonctionner VS IntelliSense?

16
George Knap

Je me débattais avec le même problème après avoir basculé vers la version 2.0 et utilisé la nouvelle convention @types.

J'ai trouvé cette propriété utile après avoir examiné les spécifications du fichier tsconfig.json ici: http://json.schemastore.org/tsconfig

propriété "typeRoots" de compilerOptions.

Je ne pouvais pas obtenir les fichiers ou inclure des tableaux pour saisir mes saisies, mais cela semble avoir fait l'affaire pour moi.

Mon fichier tsconfig.json à titre d'exemple:

{
  "compileOnSave": true,
  "compilerOptions": {
    "outDir": "./dist/",
    "sourceMap": true,
    "noImplicitAny": false,
    "module": "commonjs",
    "target": "es5",
    "jsx": "react",
    "typeRoots": [
      "node_modules/@types"
    ]
  }
}

J'espère que cela aide quelqu'un avec le même problème.

12
Miek

Installez VS 2015 Update 3, puis installez les outils TypeScript 2.0.3.

2
Andrew Sorokin

Voici un exemple d'utilisation de @types dans Visual Studio 2015 (à partir de la mise à jour 3) ...

Tout d'abord, assurez-vous d'avoir TypeScript v2.0.3 ou supérieur.

Ajoutez ensuite les saisies comme suit:

  "devDependencies": {
    "TypeScript": "^2.0.3",

    "@types/jquery": "*",
    "@types/lodash": "^4.14.36"
  }

Ensuite, dans votre fichier TypeScript, ajoutez simplement ce qui suit ...

/// <reference path="jquery.d.ts"/>
/// <reference path="jquery.lodash.d.ts" />

Afin de voir si un type de bibliothèque est disponible, consultez Recherche de type , alimenté par Définitivement tapé .

Références:

1
Richard Nalezynski