一、TypeScript模块使用
1.1 TypeScript模块化
JavaScript 有一个很长的处理模块化代码的历史,TypeScript 从 2012 年开始跟进,现在已经实现支持了很多格式。但是随着 时间流逝,社区和 JavaScript 规范已经使用为名为 ES Module的格式,这也就是我们所知的 import/export 语法。
在TypeScript中最主要使用的模块化方案就是ES Module。
1.2 非模块(Non-modules)
1.3 内置类型导入(Inline type imports)
TypeScript 4.5 也允许单独的导入,你需要使用 type 前缀 ,表明被导入的是一个类型。这些可以让一个非 TypeScript 编译器比如 Babel、swc 或者 esbuild 知道什么样的导入可以被安全移除。
import { type PersonType } from './person.d.ts'
const person: PersonType = {
name: 'heart',
age: 18
}
1.4 命名空间namespace
二、声明文件的使用
2.1 类型的查找
2.2 内置类型声明
内置类型声明是typescript自带的、帮助我们内置了JavaScript运行时的一些标准化API的声明文件;包括比如Function、String、Math、Date等内置类型;也包括运行环境中的DOM API,比如Window、Document等。
tip:内置类型声明通常在我们安装typescript的环境中会带有的
2.3 内置声明的环境
我们可以通过target和lib来决定哪些内置类型声明是可以使用的:例如,startsWith字符串方法只能从称为ECMAScript 6的 JavaScript 版本开始使用。
我们可以通过target的编译选项来配置:TypeScript通过lib根据您的target设置更改默认包含的文件来帮助解决此问题。TypeScript: TSConfig Reference - Docs on every TSConfig option
2.4 外部定义类型声明 – 第三方库
2.5 外部定义类型声明 – 自定义声明
什么情况下需要自己来定义声明文件呢?
- 我们使用的第三方库是一个纯的JavaScript库,没有对应的声明文件;比如lodash;
- 我们给自己的代码中声明一些类型,方便在其他地方直接进行使用。
2.6 declare 声明模块
2.7 declare 声明文件
2.8 declare 命名空间
三、tsconfig配置文件解析
3.1 认识tsconfig.json文件
3.2 tsconfig.json配置
3.3 tsconfig.json顶层选项
3.4 tsconfig.json文件
tsconfig.json是用于配置TypeScript编译时的配置选项:TypeScript: TSConfig Reference - Docs on every TSConfig option