我开始使用TypeScript编写AngularJS应用程序。我有这个简单的模块命令:
(() => {
angular
.module('app', []);
})();
当我运行tsc app.ts
时,我得到了这个:app.ts(2,5): error TS2304: Cannot find name 'angular'.
我是否需要在app.ts
中添加一些内容,以使tsc
了解angular
?
此致
答案 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";
答案 2 :(得分:7)
您需要在库中包含angular.t.ds文件
答案 3 :(得分:1)
<强> ATOM 强>
在"fileGlobs"
文件中,确保tsd
指向两者: -
src .ts files
&amp; "filesGlob": [
"./typings/**/*.ts",
"./src/client/**/*.ts"
]
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