为什么我得到错误:(45,1)TS2304:找不到名字'angular'。在WebStorm中

时间:2015-03-25 15:13:13

标签: angularjs typescript webstorm

我刚开始使用TypeScript并尝试将其添加到现有的AngularJS项目中。

我已排除'安装了角度的bower目录,并在首选项窗口中下载了angular的angularTyped定义。

角度代码完成工作正常,但无论我在哪里编码角度,打字稿都会给我一个错误TS2304。'。

我错过了什么?

3 个答案:

答案 0 :(得分:12)

要修复错误,您需要将已下载的definitelyTyped TypeScript存根从~/Library/Caches/WebStorm9/extLibs文件夹复制到项目目录,并使用/// <reference path>条评论在.ts文件中引用它们,例如

/// <reference path="path/to/angular.d.ts" />

只是为了说清楚: 当您通过Preferences / Languages&amp ;;下载Typescript存根时框架/ Javascript /库,它们被放入~/Library/Caches/WebStorm9/extLibs。 它对于Webstorm来说非常好 - 它不需要将库文件直接放在项目文件夹中。此外,Webstorm本身并不需要///reference注释才能解析类型 - 类型提示/导航/完成工作即使未明确引用类型也是如此。但是tsc编译器确实需要将d.ts文件放在项目目录中的某个位置并通过///reference注释引用。 因此,要将下载的存根可用于typescript编译器,您需要将它们复制/移动到项目目录(并可能重命名为更易读的名称:))并添加注释(可以使用'Generate reference path comment&#39完成;意图(在引用上按Alt + Enter以生成注释))。 我们计划在将来的版本中提供一个将文件直接下载到项目文件夹(而不是system / extLibs /)的选项

答案 1 :(得分:2)

可能需要在具有此问题的特定.ts文件中添加对.d.ts的引用,例如:

/// <reference path="../typings/angular.d.ts"/>

答案 2 :(得分:1)

  

在偏好设置窗口中下载了angular的angularTyped定义。

下载这样的存根的意图是为 JavaScript 代码而不是 TypeScript 代码提供智能感知。对于TypeScript代码,您应该直接在TypeScript代码中下载并引用.d.ts