TypeScript学习笔记——第三节

1. 自动编译

1. 自动编译文件

  • 编译文件时,添加-w指令(watch),TS编译器会自动监视文件的变化,并在发生变化时对文件进行重新编译
  • 示例:
tsc xxx.ts -w

2. 自动编译整个项目

  • 直接使用tsc指令,则可以对当前项目下的所有ts文件都进行编译
  • 使用tsc的前提是,在项目根目录下创建一个ts的配置文件tsconfig.json
    在这里插入图片描述

2. 配置选项

1. include

  • 定义待编译文件所在的目录
  • 默认值:["**/*"]
  • 示例:
//该配置后,src目录和tests目录下的所有ts文件都会被编译
"include": [" src/**/* ", " tests/**/* "] 

**:表示全部目录
*:表示全部文件

2. exclude

  • 定义需要被编译器排除在外的目录(不希望被编译的目录)
  • 默认值:[“node_modules”, “bower_components”, “jspm_packages”]
  • 示例:
//该配置后,src下hello目录下的文件都不会被编译
"exclude": [" ./src/hello/**/* "]

3. extends*

  • 定义被继承的配置文件
  • 示例:
//该配置后,当前配置文件中会自动包含config目录下的base.json中的所有配置信息
"extends": " ./configs/base "

4. files*

  • 指定被编译文件的列表,只有需要编译的文件较少时才会用到
  • 示例:
//该配置后,file1.ts、file2.ts会被编译
"files": [“file1.ts”, "file2.ts"]

5. compilerOptions(重要)

  • 编译选项是配置文件中非常重要也比较复杂的配置选项
  • 包含了多个子选项,用来完成对编译的配置
1. target
  • 设置ts代码编译的目标版本
  • 可选值:“ES3”(默认)、“ES5”、“ES6”、“ES2015”、“ES2016”、“ES2017”、“ES2018”、“ES2019”、“ES2020”、“ES2021”、“ESNext”
  • 实例:设置为ES6版本
"compilerOptions": {
 	"target": "ES6"
}
2. lib
  • 指定代码运行时所包含的库(宿主环境)
  • 可选值:“ES5”、“ES6”、“ES2015”、“ES2015.Collection”、“ES2015.Core”、“ES2015.Generator”、“ES2015.Iterable”…
  • 实例:
"compilerOptions": {
  	"lib": ["ES5","DOM"]
}
3. module
  • 指定要使用的模块化规范
  • 可选值:“CommonJS”、“AMD”、“System”、“UMD”、“ES6”、“ES2015”、“ES2020”、“ESNext”、“None”、“es2022”、“node12”、“nodenext”
  • 实例:指定使用ES6的模块化规范
"compilerOptions": {
  	"module": ["ES6"]
}
4. outDir
  • 指定编译后文件所在的目录
  • 实例:指定编译至dist目录
"compilerOptions": {
  	"outDir": "./dist"
}
5. outFile
  • 将所有编译文件合并至一个文件
  • 实例:合并至dist目录下的app.js
"compilerOptions": {
  	"outFile": "./dist/app.js"
}
  • 设置outFile后,所有的全局作用域中的代码会合并到指定的文件
  • 注意,如果同时使用模块化,只有amdsystem规范支持合并到同一文件
6. allowJs
  • 指定是否对js文件进行编译,默认是false
  • 实例:
"compilerOptions": {
  	"allowJs": true 
}
7. checkJs
  • 指定是否检查js文件的语法规范,默认是false
  • 实例:
"compilerOptions": {
  	"checkJs": true 
}
8. removeComments
  • 指定编译ts文件时是否移除注释,默认是false
  • 实例:
"compilerOptions": {
  	"removeComments": true 
}
9. noEmit*
  • 指定是否需要生成编译后的文件,默认是false
10. noEmitOnError
  • 当有错误时,不生成编译后的文件,默认是false
  • 实例:
"compilerOptions": {
  	"noEmitOnError": true 
}
11. Strict
  • 所有严格检查的总开关
12. alwaysStrict
  • 用来设置编译后的文件是否使用严格模式,默认是false
13. noImplicitAny
  • 设置是否允许隐式的any类型,默认是false
14. noImplicitThis
  • 设置是否不明确的this使用,默认是false
15. strictNullChecks
  • 设置是否严格的检查空值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值