TS 新手指南
Typescript 和 Javascript 既相似又有着许多不同,以往的 Node.js 应用和模块大多都是 Javascript 写的。
而 Midway 在阿里沉淀多年,在多人协作和开发的过程中我们发现,Typescript 的接口定义和类型系统,使得应用编码出错的概率大大降低。
在全新的体系中,我们 推荐使用 TypeScript 语法来编码。
应用目录结构
虽然 TypeScript 的目录多种多样,但是在统一的编码规范中,我们推荐常用的一种,这里就简单介绍我们常见的目录以及文件。
├── app
├── README.md
├── .gitignore
├── package.json
├── src
├── dist
├── test
├── tsconfig.json
└── tslint.json
最常见的目录结构如下,我们一一来介绍。
ts 依赖
在介绍目录之前,我们先介绍应用需要安装的依赖,这些依赖已经作为默认内容在脚手架中提供。
// in package.json
"devDependencies": {
"@types/mocha": "^5.2.5",
"@types/node": "^10.5.5",
"ts-node": "^7.0.1",
"tslint": "^5.9.1",
"typescript": "^2.8.0"
}
这里的依赖有两部分,@types/* 开头的定义文件和其他 ts 运行时需要的文件。
- @types/node - Node.js 的定义包,有了它原生内置的模块就有了类型定义,@types/mocha 同理
- typescript - 微软提供的 ts 核心包,提供了高阶的语法糖支持,同时也提供了 tsc 等编译器。
- ts-node - 三方提供的运行环境,由于 js 运行无需编译,只需要
node index.js即可运行,同理,可以用ts-node index.ts来直接运行 ts,方便开发
src 和 dist
由于 Typescript 是编译过程中进行类型检查,虽然在开发过程中可以通过类似 ts-node 这样的模块来简化,但是最终应用部署前,还是需要打包编译的,midway 提供了 midway-bin build 命令进行编译,这一内容将在工具部分来提供。
src 目录存放 Typescript 源文件,Typescript 源文件由 *.ts 结尾,而编译后的文件为 *.js,在一般情况下,和源文件一一对应。