TypeScript的代码最终会被编译为JavaScript, 运行到不同的JavaScript环境中:
- 浏览器 - Chrome,Firefox, Edge, IE,以及大量中国本土定制的浏览器
- 服务器 - Nodejs为主
- App - 比如微信
- 嵌入式JS引擎 - 比如某些数据库支持JS脚本
TypeScript的编译器有超过100个选项,其中很多与目标运行环境有关
本文详细解读TS编译器配置,特别是与目标运行环境有关的部分。
创建TS项目
项目结构
我们使用一个常规的项目结构作为参考:
- 源代码在一个顶层目录
src
- 编译后的
js
代码放在dist
my-app/
├──dist/
│ ├──index.d.ts
│ ├──index.js
│ └──utils/
│ ├──foo.d.ts
│ ├──foo.js
│ ├──bar.d.ts
│ └──bar.js
├──src/
│ ├──index.ts
│ └──utils/
│ ├──foo.ts
│ └──bar.ts
编译器输出
当编译TS项目时,编译器会输出如下内容:
- JavaScript 文件
.js
- Source maps文件
.js.map
- 类型声明文件
.d.ts
- 类型声明maps文件
.d.ts.map
第一类文件,无需解释,就是生成的js
文件。
第二类文件,用来将生成的js
文件映射到原ts
文件。这对代码debug非常有用。很多开发工具比如Chrome DevtTools等,在出错时&