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,不可达代码将引起错误