web-dev-qa-db-fra.com

Getting Error - Impossible de trouver le nom 'angular'

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,

26
Sarun Intaralawan

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é.

34
Fenton

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

16
Augusto Barreto

Vous devez inclure le fichier angular.t.ds dans la bibliothèque.

7
Sonu Jose

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.

0
Indy-Jones

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.

0
rekotc