【问题标题】:what are typings inside angular2 project? [duplicate]angular2 项目中的类型是什么? [复制]
【发布时间】:2016-08-30 06:29:44
【问题描述】:
我正在学习 angular2 并且想知道每次我使用 angular-cli 创建一个新项目时,都有一个名为 typings 的目录。
我在互联网上搜索了详细信息,但找不到关于 angular2 的相关信息。
谁能告诉我为什么在 angular2 项目中使用typings 目录?
它在 angular2 项目中的确切用途是什么?
【问题讨论】:
标签:
angular
webpack
angular-cli
typescript-typings
【解决方案1】:
我们需要在我们的工作站中安装 TypeScript 和 Typings。 TypeScript 是 JavaScript 的超集,与 Angular 2 配合得非常好。
打字帮助 TypeScript 识别非打字稿代码的类型。
typings - 这包含帮助 TypeScript 推断它不知道的类型的文件。并非所有 JavaScript 库都是用 TypeScript 编写的,为了让 TypeScript 了解它们,我们需要这些库的类型。
这些文件或库称为 TypeScript 类型定义文件(d.ts)
【解决方案2】:
Typings - TypesScript 声明文件。
引自angular.io官网
许多 JavaScript 库,例如 jQuery、Jasmine 测试库和 Angular 本身,
使用 TypeScript 编译器本身无法识别的功能和语法扩展 JavaScript 环境。
当编译器无法识别某些东西时,它会抛出一个错误。
我们使用 TypeScript 类型定义文件 - d.ts 文件 - 告诉编译器我们加载的库。
当包含 3rd 方库时,有两部分...您要执行的 javascript 代码,以及为 IDE 提供强类型优势的定义文件。
如果 lib 不是用 Typescript 编写的,但有好心人为其编写了 thirdLib.d.ts 定义文件,您可以在 ts 文件中使用 /// <reference path="thirdLibfolder/thirdLib.d.ts" /> 引用 d.ts 文件。然后仍然在上面提到的脚本引用中包含实际执行的 javascript。
请看这里