出现错误 - 找不到名称 'angular'

Getting Error - Cannot find name 'angular'

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

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

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

我是否需要在 app.ts 中包含一些内容以使 tsc 理解 angular

此致,

您可以通过告诉编译器 "you know all about angular":

来简单地告诉编译器不要担心
declare var angular: any;

要获得所有好的工具和类型检查,您需要引入 Angular type definition 以便编译器知道什么是可用的。

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

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

ATOM

tsconfig.json 文件中确保您的 "fileGlobs" 指向两者:-

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

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

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

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

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

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

import * as angular from "angular";

参考:The Future of Declaration Files

我通过将以下行添加到 package.json 的 "devDependencies" 部分解决了这个问题:

"@types/angular" : "1.6.17"

之后,我只需要 运行

npm install

以便 npm 下载所有需要的依赖项。

对于我来说,在 VisualStudio 内部,我使用了 Augusto 的部分建议答案并简单地做了:

npm install --save @types/angular

它就像一个魅力。

确保在 tsconfig.jsonfilesGlob 指向并公开了类型文件:

"filesGlob": ["typings.d.ts" ]