TypeScript 组成部分
TypeScript语言内部分为三个主要层级。每个层级又分为子层级或组件。在下图中,我们可以看到这三个层级及其内部组件。这些层级包括:
- 语言
- TypeScript编译器
- TypeScript语言服务
1. 语言
它包含了TypeScript语言的各个要素,包括语法、关键字和类型注解。
2. TypeScript编译器
TypeScript编译器(TSC)可以将TypeScript程序转换为相应的JavaScript代码。它还负责解析和类型检查我们的TypeScript代码,将其转换为JavaScript代码。
浏览器不直接支持执行TypeScript代码。因此,使用TypeScript编写的程序必须重新编写为在浏览器中直接支持代码执行的JavaScript等效代码。为了执行这个操作,TypeScript附带了名为“tsc”的TypeScript编译器。当前版本的TypeScript编译器默认支持ES6。它可以将源代码编译成ES6、SystemJS、AMD等任何模块。
我们可以通过本地、全局或两者方式安装TypeScript编译器,可以使用任何 npm 软件包。安装完成后,可以通过在命令行上运行“tsc”命令来编译TypeScript文件。
示例
$ tsc helloworld.ts // It compiles the TS file helloworld into the helloworld.js file.
编译器配置
TypeScript编译器的配置位于 tsconfig.json 文件中,如下所示:
{
"compilerOptions": {
"declaration": true,
"emitDecoratorMetadata": false,
"experimentalDecorators": false,
"module": "none",
"moduleResolution": "node",
"noFallthroughCasesInSwitch": false,
"noImplicitAny": false,
"noImplicitReturns": false,
"removeComments": false,
"sourceMap": false,
"strictNullChecks": false,
"target": "es3"
},
"compileOnSave": true
}
声明文件
当我们编译TypeScript源代码时,它给了一个选项用于生成一个 声明文件 ,该文件的扩展名是 .d.ts 。这个文件作为已编译JavaScript中组件的接口。如果一个文件的扩展名是 .d.ts ,那么每个根层级的定义都必须有 declare 关键字作前缀。它明确了TypeScript不会发出任何代码,这样确保了声明的项目将在运行时存在。声明文件为像jQuery这样的JavaScript库提供了IntelliSense。
3.TypeScript语言服务
语言服务提供了帮助编辑器和其他工具提供更好辅助功能的信息,例如自动重构和IntelliSense。它在核心编译器流水线周围提供了额外的一层。它支持一些标准的典型编辑器操作,如代码格式化和大纲、着色、代码补全、函数签名帮助等。