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

时间:2015-04-28 09:13:48

标签: angularjs typescript

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

(() => {
    angular
        .module('app', []);
})();

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

我是否需要在app.ts中添加一些内容,以使tsc了解angular

此致

7 个答案:

答案 0 :(得分:34)

你可以简单地告诉编译器通过告诉它“你知道所有关于角度的”来停止担心:

declare var angular: any;

要获得所有良好的工具和类型检查,您需要提取Angular type definition,以便编译器知道可用的内容。

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

答案 1 :(得分:17)

使用AngularJS 1.x和TypeScript 2.x,我通过运行:

解决了这个问题
npm install --save-dev @types/angular

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

import * as angular from "angular";

参考:The Future of Declaration Files

答案 2 :(得分:7)

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

答案 3 :(得分:1)

<强> ATOM

"fileGlobs"文件中,确保tsd指向两者: -

  1. 使用src .ts files&amp;
  2. 安装的TypeScript定义
  3. 您的"filesGlob": [ "./typings/**/*.ts", "./src/client/**/*.ts" ]
  4. tsd

    这将确保您已安装(使用declare的库,而无需tsd install angularjs --save任何变量。例如,如果您angular,则可以使用所有良好的工具在src/../*.ts files中{{1}}工作。

    希望这会有所帮助。祝你好运。

答案 4 :(得分:0)

我通过在“devDependencies”部分中的package.json中添加以下行来解决问题:

"@types/angular" : "1.6.17"
之后,我只需要运行

npm install

为了让npm下载所有必需的依赖项。

答案 5 :(得分:0)

对于VisualStudio中的我,我使用了Augusto建议的答案的一部分而且只是做了:

npm install --save @types/angular

它就像一个魅力。

答案 6 :(得分:0)

确保在if int(age) <= 1:中指向tsconfig.json,并暴露出打字文件:

filesGlob