tsconfig.json是TypeScript的编译器配置文件,用于定义TypeScript编译器的行为。各个选项的作用如下:
-
“compilerOptions”: 编译器选项,用于配置TypeScript编译器的行为。包括指定目标JS版本、模块化方式、输出目录、是否生成source map等。
-
“files”: 指定需要编译的文件列表,可以是相对或绝对路径。若未指定此项,则编译器将编译项目下所有包含在"include"选项中的文件。
-
“include”: 包含需要编译的文件的glob路径模式。
-
“exclude”: 排除不需要编译的文件的glob路径模式。
-
“extends”: 用于扩展其他tsconfig.json配置,可以被配置文件继承。
-
“compileOnSave”: 是否在保存文件时自动编译。
-
“references”: 使用项目引用,可以将一个项目作为另一个项目的依赖。
-
“typeAcquisition”: 自动获取类型声明的设置。
-
“angularCompilerOptions”: 帮助编译Angular应用程序的特殊编译器选项。
-
“excludeDirectories”: 确定不应该被搜索的顶级目录。
-
“excludeFiles”: 指定应该被忽略的文件。
-
“includeDirectories”: 包含需要编译的文件的目录列表。
-
“files”: 指定需要编译的特定文件。
compilerOptions
-
target: 指定编译后代码的目标JavaScript版本,默认值是ES3。可选项包括:ES3、ES5、ES6/ES2015、ES2016、ES2017、ES2018、ES2019、ES2020、ES2021。 -
module: 指定编译后代码使用的模块系统,默认值是None。可选项包括:CommonJS、AMD、System、UMD和ES6。 -
lib: 指定编译过程中使用的内置类型定义库,默认值是空数组。常用的可选项包括:ES6/ES2015、ES2016、ES2017、ES2018、ES2019、ES2020、ES2021、Dom、WebWorker、ScriptHost、ESNext等。 -
outDir: 指定编译输出目录。 -
sourceMap: 是否生成对应的声明文件。 -
removeComments: 是否在编译后移除代码中的注释。 -
noImplicitAny: 是否在声明变量时必须给该变量明确的类型注解,如果不指定则会报错。 -
strictNullChecks: 是否开启严格的null检查。 -
esModuleInterop: 是否支持将CommonJS模块转换为ES6模块。 -
allowJs: 是否允许编译JavaScript文件。 -
jsx: 指定React使用的jsx版本。 -
declaration: 是否生成声明文件。 -
experimentalDecorators: 是否开启装饰器支持。 -
noUnusedLocals: 是否检查未使用的本地变量。 -
noUnusedParameters: 是否检查未使用的函数参数。 -
noImplicitReturns: 是否检查函数是否有返回值。
-
noFallthroughCasesInSwitch: 是否检查switch语句中的case是否都有break语句或者return语句。 -
allowUnreachableCode: 是否允许有不可达代码。 -
strict: 是否开启严格检查模式,包括strictNullChecks、strictFunctionTypes、strictPropertyInitialization、strictBindCallApply、alwaysStrict。 -
moduleResolution: 模块解析策略,默认为Node,可选项为Node和Classic。 -
baseUrl: 指定查找非相对模块的根目录。 -
paths: 指定模块路径映射。 -
rootDirs: 指定多个项目根目录。 -
typeRoots: 指定类型定义文件的搜索目录。 -
types: 指定要包含的类型定义文件。 -
preserveConstEnums: 是否在编译过程中保留枚举值的常量性质。 -
declarationDir: 指定生成声明文件的输出目录。 -
sourceRoot: 指定源代码的根目录。 -
mapRoot: 指定生成的source map文件的根目录。 -
resolveJsonModule: 是否解析JSON模块。 -
skipLibCheck: 是否跳过检查内置类型定义库。 -
strictFunctionTypes: 是否开启函数类型检查,包括函数参数和返回值。 -
strictPropertyInitialization: 是否检查属性是否被初始化。 -
strictBindCallApply: 是否检查函数中使用的this是否正确绑定。 -
alwaysStrict: 是否使用严格模式。 -
importHelpers: 是否在生成的代码中使用帮助函数。 -
inlineSourceMap: 是否在编译后将source map直接内联到生成的代码中。 -
inlineSources: 是否在编译后将源代码直接内联到生成的代码中。 -
tsBuildInfoFile: 指定生成的tsbuildinfo文件的路径。 -
experimentalWatchApi: 是否开启实验性的watch API。
理解TypeScript的tsconfig.json配置文件
tsconfig.json是TypeScript的配置文件,用于定义编译器行为,如目标JavaScript版本、模块系统、输出目录等。它包含compilerOptions、files、include、exclude等字段,还涉及strictNullChecks、esModuleInterop等具体编译选项。这个文件对管理和控制TypeScript项目编译过程至关重要。
106

被折叠的 条评论
为什么被折叠?



