Je commence à écrire l'application AngularJS en utilisant TypeScript. J'ai cette commande de module simple:
(() => {
angular
.module('app', []);
})();
Quand j'ai lancé tsc app.ts
, j'ai eu ceci: app.ts(2,5): error TS2304: Cannot find name 'angular'.
Dois-je inclure quelque chose dans app.ts
pour que tsc
comprenne la angular
?
Cordialement,
Vous pouvez simplement dire au compilateur de cesser de s'inquiéter en lui disant que "vous savez tout sur angular":
declare var angular: any;
Pour obtenir tous les outils et la vérification de type corrects, vous devez extraire le Définition du type angulaire afin que le compilateur sache ce qui est disponible.
Les définitions de types sont disponibles via NuGet si vous utilisez Visual Studio ou diverses autres méthodes pour votre IDE préféré.
En utilisant AngularJS 1.x et TypeScript 2.x, j'ai résolu ce problème en lançant:
npm install --save-dev @types/angular
et ensuite inclure la ligne suivante sur le fichier .ts:
import * as angular from "angular";
Référence: L'avenir des fichiers de déclaration
Vous devez inclure le fichier angular.t.ds dans la bibliothèque.
Pour moi à l'intérieur de VisualStudio, j'ai utilisé une partie de la réponse suggérée par Augusto et j'ai tout simplement:
npm install --save @types/angular
et ça a fonctionné comme un charme.
J'ai résolu le problème en ajoutant la ligne suivante à mon package.json, dans la section "devDependencies":
"@types/angular" : "1.6.17"
après cela, je devais juste courir
npm install
pour que npm télécharge toutes les dépendances nécessaires.