{
/*
tsconfig.json是ts编译器的配置文件,ts编译器可以根据他的信息来对代码进行编译
1. include 用来指定哪些Ts文件需要被编译, **表示任意目录, *表示任意文件
2. exclude 用来指定哪些Ts文件不需要被编译, **表示任意目录, *表示任意文件
默认值:["node_modules", "bower_components", "jspm_packages"]
*/
"include": [
"./src/**/*"
],
"exclude": [
"./src/hello/**/*"
],
/*
compilerOptions 编译器选项
*/
"compilerOptions": {
// target 用来指定Ts被编译的为的ES的版本 ESNext表示当前最新版本的ES
"target": "ES6",
// module 来指定要是用的模块化规范
// 可选值'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'nodenext'
// 'amd', 'system' 用来合并多个模块
"module": "ES6",
// lib用来指定项目中要使用的库
// "lib": ["es6","dom"]
//lib可选值如下:
// 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext', 'dom', 'dom.iterable', 'webwo
// rker', 'webworker.importscripts', 'webworker.iterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol',
// 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es
// 2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.s
// ymbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.
// string', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref'
// outDir 用来指定编译后文件所在目录
"outDir": "./dist",
// outFile 将代码合并为一个文件
// 设置outFile后,所有的全局作用域的代码会合并到同一个文件中
// "outFile": "./dist/app.js"
// 是否对js进行编译,默认为false 不编译
"allowJs": true,
// 是否检查js代码是否符合语法规范 默认false 不检查
"checkJs": false,
// 是否移除注释 默认为false 不移除
"removeComments": true,
// 不生成编译后的文件
"noEmit": false,
// 当有错误时,不生成编译后的文件
"noEmitOnError": false,
// 所有严格模式的总开关
"strict": true,
// 用来设置编译后的文件是否使用严格模式,默认false
"alwaysStrict": true,
// 不允许隐式的any类型
"noImplicitAny": true,
// 不允许不明确类型的this
"noImplicitThis": true,
// 严格的检查空值
"strictNullChecks": true
}
}