tsconfig.json文件有什么用?

文章类型:TypeScript

发布者:hp

发布时间:2022-10-21

tsconfig.json文件是JSON格式的文件,可以指定不同的选项来告诉编译器如何编译项目

 "include":["./src/**/*"],   // 用来指定哪些文件需要被编译  ** : 任意目录 , * : 任意文件 

"exclude": ["./src/hello/**/*"],//用来指定哪些文件不需要被编译 :默认node_module

 "extends": "./configs/base",//用来指定继承的配置文件

"files": ["1.ts", "2.ts"],//用来指定被编译的文件列表,只有编译少量文件才使用

compilerOptions可选配置中

 "target": "ES2020",// 用来指定 ES 版本 ESNext : 最新版。 'ES3', 'ES5', 'ES6'/'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ESNext'

 "module": "ESNext",// 指定要使用模块化的规范 : 'None', 'CommonJS', 'AMD', 'System', 'UMD', 'ES6'/'ES2015', 'ES2020' or 'ESNext'

   
"lib":[], // 运行在浏览器中不用设置,运行在node或其他中才需要设置
// 用来指定项目中要使用的库 'ES5', 'ES6', 'ES2015', 'ES7', 'ES2016', 'ES2017', 'ES2018', 'ESNext', 'DOM', 'DOM.Iterable',// 'WebWorker', '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.Intl', 'ES2017.SharedMemory', 'ES2017.String', // 'ES2017.TypedArrays', 'ES2018.Intl', 'ES2018.Promise', 'ES2018.RegExp', 'ESNext.AsyncIterable', // 'ESNext.Array', 'ESNext.Intl', 'ESNext.Symbol'

 "outDir":"./dist",// 用来指定编译后文件的存放位置

    "outFile": "./dist/app.js",  // 将代码合并为一个文件,设置之后所有的全局作用域中的代码会合并到同一个文件中 但是只能在  'amd' and 'system' 中才能使用

 "allowJs": false, // 是否对js文件进行编译,默认false

 "checkJs": false,  // 是否检查js代码是否符合语法规范,默认false

 "removeComments":false,  // 是否移除注释,默认false

 "noEmit": false, // 是否不生成编译后文件,默认false

 "noEmitOnError": false, // 当有错误时是否生成文件,默认false

 "sourceMap":false, // 是否生成sourceMap,默认false  这个文件里保存的,是转换后代码的位置,和对应的转换前的位置。有了它,出错的时候,通过断点工具可以直接显示原始代码,而不是转换后的代码。

 "strict": false,// 所有的严格检查的总开关,默认false

 "alwaysStrict": false, // 编译后的文件是否开启严格模式,默认false

 "noImplicitAny": false,// 不允许隐式的any,默认false(允许)

 "noImplicitThis": false, // 不允许隐式的this,默认false(允许)

 "strictNullChecks": true, // 是否严格的检查空值,默认false 检查有可能为null的地方

"strictBindCallApply":false, // 是否严格检查bind、call和apply的参数列表,默认false  检查是否有多余参数

"strictFunctionTypes":false, // 是否严格检查函数的类型,

 "strictPropertyInitialization":false, // 是否严格检查属性是否初始化,默认false

"noFallthroughCasesInSwitch":false,// 是否检查switch语句包含正确的break,默认false

 "noImplicitReturns":false,  // 检查函数没有隐式的返回值,默认false

 "noUnusedLocals":false,  // 是否检查检查未使用的局部变量,默认false

"noUnusedParameters":false,  // 是否检查未使用的参数,默认false

 "allowUnreachableCode":false // 是否检查不可达代码报错,默认false   true,忽略不可达代码 false,不可达代码将引起错误