用户登录

在项目里安装了 TypeScript 以后会带着一个命令行工具叫 tsc,全称就是 TypeScript Compiler,它可以把 TypeScript 解释成 JavaScript 。现在可以在终端,项目所在目录的下面,执行:

tsc

注意这里我们执行 tsc 这个命令的时候并没有输入这个命令的完整或者相对路径,这是因为之前我们已经配置过终端,执行命令的时候终端会在当前目录下的 node_modules/.bin 这个目录里寻找有没有这个命令。如果你之前没有配置过个终端,想要执行这个 tsc 命令,需要输入它的绝对或相对路径,比如你在项目当前所在目录的下面,可以执行:

./node_modules/.bin/tsc

执行 tsc 命令就是要编译项目,这里我们并没有设置任何的参数,编译工具会读取项目里的配置文件里的配置信息,根据这些配置信息来判断如何编译我们的项目。在终端会出现类似下面这样的提示:

Cannot find name 'require'.
Do you need to install type definitions for node?
Try `npm i @types/node`.

1 const express = require('express');
~~~~~~~

编译项目的时候 tsc 提示了项目里的一处错误,在后面我们再详细解读一下这个错误提示,暂时先不要管它。执行了编译命令之后会把项目里的 src 目录里的东西编译好,放到 dist 目录的下面。查看一下这个目录里的资源,会出现下面这些:

main.d.ts main.js.map
main.js tsconfig.tsbuildinfo

现在我们的项目里只有一个 .ts 文件,就是 src/main.ts,所以编译之后在 dist 目录里也就只有一个 .js 文件,就是 main.js。另外还有一样名字的文件,但是后缀不一样,比如 .d.ts,这种后缀的文件里面是一些类型的定义,比如这个 main.d.ts 对应的就是 main.js 里面的一些东西的类型信息,就是它说明了一下 main.js 里面都有什么东西,这些东西的类型是什么。

这里还有一个 .js.map 后缀的文件,这种 .map 后缀的文件就是把编译之前还有编译之后的两个文件联系到了一块儿。main.js.map 的作用就是把 main.js 跟 main.ts 联系到了一起,就是有了这种 .map 文件,编辑器就会知道编译之后的这个文件里的一个东西在编译之前是什么。这些东西的主要作用就是辅助以后的开发还有调试应用,并不会影响应用的正常运行。

打开编译之后的 main.js 文件观察一下文件内容,你会发现跟编译前的 main.ts 没有什么区别,因为在 main.ts 里写的代码暂时没什么可以解释的东西。

这个执行了编译命令生成的 dist 目录是可以删除掉的,不用对它做源代码管理,所以之前我们在 .gitignore 文件里,已经设置忽略掉了这个目录。这个目录里的东西随时可以根据 src 目录里的东西重新生成。现在运行应用的时候,要运行的就是在 dist 目录里的应用,也就是编译之后的应用。

在终端,项目所在目录的下面,执行:

node dist/main.js

成功以后可以再到 HTTP 客户端那里请求一下应用的接口,确定应用可以正常运行。

编译应用(tsc)《 Node.js 服务端应用开发:工作流程 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点