tsconfig.json 常用详解(笔记)
{
'compilerOptions': {
/* 编译选项 */
'target': 'es5', //指定ECMAScript的目标版本,默认es3
'module': 'commonjs', //使用指定的模块:commonjs、amd、system、umd或es2015
'lib': [], //指定要包含在编译中的库文件
'allowJs': true, //允许编译JavaScript文件
'checkJs': true, //报告JavaScript文件中的错误
'jsx': 'preserve', //指定jsx代码的生成: preserve、react-native或react
'declaration': true, //生成相应的.d.ts文件
'sourceMap': true, //生成相应的.map文件
'outFile': './', //将输入文件合并为一个文件
'outDir': './', //指定输出目录
'rootDir': './', //用来控制输出目录结构--outDir
'removeComments': true, //删除编译后的所有注释
'noEmit': true, //不生成输出文件
'importHelpers': true, //从tslib中导入辅助工具函数
'isolatedModules': true, //将每个文件作为单独的模块、与ts.transpileModule相似
/* 严格的类型检查选项 */
'strict': true, //启用所有严格类型检查选项
'noImplicitany': true, //当在表达式和声明上有隐含的any时报错
'strictNullChecks': true, //启用严格的Null检查
'noImplicitThis': true, //当this表达式的值为any时,生成一个错误
'alwaysStrict': true, //以严格模式检查每个模块,并在所有文件中加入'use strict'
/* 额外的检查 */
'noUnusedLocals': true, //当有未使用的变量时,抛出错误
'noUnusedParameters': true, //当有未使用的参数时,抛出错误
'noImplicitReturns': true, //在并非所有函数的代码都有返回值时,抛出错误
'noFallthroughCasesInSwitch': true, //报告switch语句的fallthrough错误,不允许switch的case语句贯穿
/* 模块解析选项 */
'moduleResolution': 'node', //选中模块的解析策略
'baseUrl': './', //用于解析非相应模块名称基目录
'paths': {}, //模块名到基于baseUrl的路径的映射列表
'rootDirs': [], //根文件夹列表,其组合内容表示项目运行时的结构内容
'typeRoots': [], //包含类型声明的文件列表
'types': [], //需要包含的类型声明文件列表
'allowSyntheticDefaultImports': true, //允许在没有设置默认导出的模块中默认导出
/* Source Map选项 */
'sourceRoot': './', //指定调试器应该找到TypeScript文件,而不是源文件的位置
'mapRoot': './', //指定调试器应该找到映射文件,而不是生成的文件位置
'inlineSourceMap': true, //允许生成单个sourceMaps文件,而不是将sourceMaps生成不同的文件
'inlineSources': true, //将代码与sourceMaps生成到一个文件中,要求同时设置--inlineSourceMap或--sourceMap属性
/* 其他选项 */
'experimentalDecorators': true, //启用装饰器
'emitDecoratorMetadata': true, //为装饰器提供元数据的支持
},
include: ['"src/**/*.ts",'], //指定编译需要包含的文件
exclude: ['node_modules'] //指定编译需要排除的文件
};