此笔记记录的是 尚硅谷TypeScript教程(李立超老师TS新课) 课程笔记
监测 TS 文件变化自动编译
- 自动监测单个 TS 文件变化
- Starting compilation in watch mode
tsc app.ts -w - 监测多个 TS 文件变化
- 创建一个
tsconfig.json文件
tsc -w - 创建一个
tsconfig.json 配置项
tsconfig.json 是 ts 编译器的配置文件,ts 编译器可以根据它的信息来对代码进行编译
配置选项
include- 定义希望被编译文件所在的目录
- 默认值:["**/*"]
- 一个
*表示任意文件 - 两个
**表示任意目录 - 示例
"include": ["src/**/*", "tests/**/*"] /* 上述示例中,所有 src 目录和 tests 目录下的文件都会被编译 */
exclude- 定义需要排除在外的目录
- 默认值:
["node_modules", "bower_components", "jspm_packages"] - 示例
"exclude": ["./src/hello/**/*"] /* 上述示例中,src 下 hello 目录下的文件都不会被编译 */
extends- 定义被继承的配置文件
- 示例
"extends": "./configs/base" /* 上述示例中,当前配置文件中会自动包含 config 目录下 base.json 中的所有配置信息 */
files- 指定被编译文件的列表,只有需要编译的文件少时才会用到
- 示例
"files": [ "core.ts", "sys.ts" ] /* 列表中的文件都会被 TS 编译器所编译 */
complierOptions-
编译选项是配置文件中非常重要也比较复杂的配置选项
-
在 complierOptions 中包含多个子选项,用来完成对编译的配置,项目选项有以下几个
target:设置 ts 代码编译的目标版本module:指定要使用的模块化的规范
lib:指定代码运行时所包含的库(宿主环境),一般不需要配置outDir:用来指定编译后文件所在的目录
outFile:将代码合并为一个文件,设置 outFile 后,所有的全局作用域中的代码会合并到同一个文件中,但一般不用这个选项,因为合并代码的操作一般在打包工具中执行
allowJs:是否对 js 文件进行编译,默认是 falsecheckJs:是否检查 js 代码是否符合语法规范,默认是 false,一般跟 allowJs 一起配置
removeComments:是否移除注释noEmit:不生成编译后的文件,默认值是 falsenoEmitOnError:当有错误时不生成编译后的文件,默认值是 false
strict:下列所有(四个)严格检查的总开关,这个设置为 true,下面四个配置都是 true,无需额外设置
alwaysStrict:用来设置编译后的文件是否使用严格模式,默认 falsenoImplicitAny:不允许隐式的 any 类型noImolicitThis:不允许不明确类型的 thisstrictNullChecks:严格的检查空值。下例中的 box1 可能为空值,所以必须进行校验,否则会报错。图中校验方法一为 if 判断 box1 是否为 null,方法二为使用?.语法来判断 box1 是否为空。
-