我刚开始使用TypeScript并尝试将其添加到现有的AngularJS项目中。
我已排除'安装了角度的bower目录,并在首选项窗口中下载了angular的angularTyped定义。
角度代码完成工作正常,但无论我在哪里编码角度,打字稿都会给我一个错误TS2304。'。
我错过了什么?
答案 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
。