目录
使用 tsc --init
初始化配置项。配置项详解:
1,编译选项
1.1,target
表示编译为哪个版本的 js。
比如配置为 es2016,那就不会编译 let 关键字为 var
如果是在 node 环境下运行,就可以配置为当前 node 版本支持的 js 版本。
1.2,module
表示编译目标使用的模块化标准。取值为 commonjs
和 es6
1.3,lib
因为不同的 js 库提供了不同的全局对象和函数,可用 lib
来指定TS编译器可用的 js 库的列表。TS编译器会根据这个选项,来确定可以使用哪些全局对象和函数。
常见选项:["es6", "es7", "dom", "webworker", "scripthost"]
dom
指浏览器环境中的对象,比如document
,window
,console
,所以默认配置下,写这些变量 ts 都不会报错。
如果配置项不包括[dom]
,那就连 console
也用不了。而因为要在 node 环境中使用 js,所以需要 @types/node
这个依赖去提供 node 环境中定义的各个函数和变量的类型描述。
@types
是 ts官方的类型库,其中包含了许多对 js 代码的类型描述。
比如@types/jquery
就为jquery
中定义的函数和变量提供了类型描述。
当然,如果使用 lib
的默认配置项,也不用担心这些问题。
1.4,输入目录
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"lib": ["es6"],
"outDir": "./dist"
}
}
1.5,include
限制编译目录的范围,注意它的层级:
{
"compilerOptions": {},
"incluede": ["./src"]
}
1.6,files
限制编译具体文件的范围:
{
"compilerOptions": {},
"files": ["./src/index.ts"]
}
2,使用第三方库简化流程
2.1,ts-node
对比 tsc
命令,可以在内存中完成编译并运行编译后的 js 文件。
ts-node src/index.ts
2.2,nodemon
用于监听文件变化。
# 当文件发生变化时,执行 ts-node 命令,ts-node 执行的文件是 src/index.ts
nodemon --exec ts-node src/index.ts
优化:只监听 .ts
文件的变化
nodemon -e ts --exec ts-node src/index.ts
再次优化:注意上面的命令是,只要有 .ts
文件发生变化,就会执行 ts-node
命令。
把监听范围缩小到只监听 src
目录下的 .ts
文件:
nodemon --watch src -e ts --exec ts-node src/index.ts
2.3,build
"scripts": {
"dev": "nodemon --watch src -e ts --exec ts-node src/index.ts",
"build": "rd /s /q dist & tsc"
},
上面的 build
命令是在 Windows 下使用的。表示删除 dist 目录和它的所有子文件。 /q
表示确认删除,不需要在命令行中再回复 y。
以上。