目录
- 1,编译选项
- 1.1,target
- 1.2,module
- 1.3,lib
- 1.4,输入目录
- 1.5,include
- 1.6,files
- 2,使用第三方库简化流程
- 2.1,ts-node
- 2.2,nodemon
使用 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
可以将上述命令配置到 package.json
中方便执行。并在开发完成后,再使用 tsc
编译到 dist
目录即可。
以上。