得到错误 - 找不到名字'angular'

Sar*_*wan 27 angularjs typescript

我开始使用TypeScript编写AngularJS应用程序.我有这个简单的模块命令:

(() => {
    angular
        .module('app', []);
})();
Run Code Online (Sandbox Code Playgroud)

当我跑步时tsc app.ts,我得到了这个:app.ts(2,5): error TS2304: Cannot find name 'angular'.

我需要包括的东西app.ts,使tsc理解angular

问候,

Fen*_*ton 35

您可以简单地告诉编译器通过告诉它"你知道所有关于angular"而不再担心:

declare var angular: any;
Run Code Online (Sandbox Code Playgroud)

要获得所有良好的工具和类型检查,您需要引入Angular类型定义,以便编译器知道可用的内容.

如果您使用Visual Studio或其他方法为您喜欢的IDE,可以通过NuGet获得类型定义.

  • 只是为非视觉工作室人员添加,看看这个工具,以帮助获得单个类型定义,而无需拉下整个回购... https://github.com/DefinitelyTyped/tsd(可以像凉亭一样工作/ npm通过配置文件) (3认同)
  • 糟糕的解决方案,这从导入的 *.d.ts 文件中删除了对 angular 的任何打字稿类型支持 (2认同)

Aug*_*eto 18

使用AngularJS 1.x和TypeScript 2.x,我通过运行以下方法解决了这个问题:

npm install --save-dev @types/angular
Run Code Online (Sandbox Code Playgroud)

然后在.ts文件的顶部包含以下行:

import * as angular from "angular";
Run Code Online (Sandbox Code Playgroud)

参考:宣言文件的未来


小智 7

您需要在库中包含angular.t.ds文件