TypeScript配置属性需要先创建一个tsconfig.json文件。
配置选项:
(包含)include:
定义希望被编译的目录
默认值:["**/*"]
示例:
"include":["./src/**/*","tests/**/*"]
//**:所有目录 *:所有文件`
上述示例中,所有src目录和tests目录下的文件都会被编译
exclude
定义需要排除在外的目录
默认值:[“node_modules”,“bower_components”,“jspm_packages”]
示例:
"exclude":["./src/hello/**/*"]
//**:所有目录 *:所有文件`
上述示例中,所有src下hello目录下的文件都不会被编译
extends
定义被继承的配置文件
示例:
"extends":"./cofigs/base"
上述示例中。当前配置文件中会自动包含config目录下base.json中的所有配置信息。
files
指定被编译文件的列表,只有需要编译的文件少时才会得到
示例:
"files":[
"cpre.ts",
"sys.ts",
"types.ts",
"scanner.ts",
"parser.ts",
"utilities.ts",
"binder.ts",
"checler.ts",
"tsc.ts"
]
列表中的文件都会被TS编译器所编译
compilerOptions
编译选项是配置文件中非常重要也比较复杂的配置选项
在compilerOptions中包含多个子选项,用来完成对编译的配置
项目选项
target
设置ts代码编译的目标版本
可选值:ES3(默认)、ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext
示例:
“compilerOptions”:{
"target":"ES6"
}
lib
指定代码运行时所包含的库(宿主环境)
可选值:ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext、DOM、WebWorker、SciptHost......
示例:
“compilerOptions”:{
"target":"ES6",
"lib":["ES6","DON"]
}
module
指定要使用的模块化的规范
可选值:'none ' , ' commonjs ' , 'amd ' , 'system ' , 'umd ' , 'es6 ' , 'es2015' , 'es2020 ' , 'esnext'
示例:
“compilerOptions”:{
"target":"ES6",
"module":"ES6"
}
outDir
指定编译后文件所在的目录
outFile
将代码合并为一个文件,设置后所有的全局作用域中的代码会合并到同一个文件中
示例:
“compilerOptions”:{
"target":"ES6",
"lib":["ES6","DON"],
"outDir":"dist",
"outFile":"dist/aa.js"
}
allowJS
是否对js文件进行编译,默认是f'alse
checkJs
是否检查JS代码是否符合语法规范,默认值false
removeComments
是否移除注释,默认值false
noEmit
不生成编译后的文件,默认值false
noEmitOnError
当有错误时不生成编译后的文件,默认值false
strict
所有严格检查的总开关。默认值为false
alwaysStrict
用来设置编译后的文件是否使用严格模式 ,默认值false
noImplicitAny
不允许隐式的any类型,默认值false
noImplicitThis
不允许不明确类型的this,默认值false
strictNullChecks
严格的检查空值,默认值false