tsconfig.json的定义
tsconfig.json
文件是 [TypeScript] 项目的配置文件,它包含了编译器的配置选项。
首先我们先了解一下tsc的一些命令
tsc --init 初始化一个tsconfig.json文件
tsc xxx.ts => 编译某一个ts文件,但是每次改写之后需要重新执行
tsc xxx.ts -w => 编译某一个ts文件, 但是会对某一个文件进行监听,自动编译
tsconfig.json的默认顶级配置
- files(指定一个包含相对或绝对文件路径的列表)
- include(通过匹配需要转换的文件)
- exclude(忽略include和files中需要转换的文件)
- compilerOptions(一个复杂的配置,详细)
tsconfig.json的常见配置
下面的配置当编译tsc命令的时候会对src下面的所有ts文件进行转义,但是会忽略comjs文件夹下的文件
- **/表示匹配所有子目录
- *代表当前文件夹下面的文件
{
// 定义哪些文件夹下面的文件被被编译
"include": [
"./src/**/*"
],
// 定义哪些是不被处理的
"exclude":[
"./src/comjs/**/*"
]
}
复杂配置compilerOptions
当没有配置compilerOptions时,tsc会默认使用其默认的配置
查看下面一些常见配置,其他有需要用到的时候再去查看文档
{
"files": [
"app.ts",
"./src/util/1index.ts"
],
// 定义哪些文件夹下面的文件被被编译
"include": [
"./src/**/*"
],
// 定义哪些是不被处理的
"exclude":[
"./src/comjs/**/*"
],
"compilerOptions": {
"target": "ES6", // 设置需要转换的es版本,
"module": "System", // 指定使用模块化规范
"outDir": "./dist", //指定编译后文件的输出目录
"outFile": "System.js", // 把所有需要编译的文件打到一个文件中,这里需要和module配合,module必须要为amd或者system
"lib": ["ES6", "DOM"], // 指定要包含在编译中的库文件,一般来说在浏览器环境下不需要改动,在node等环境下可能改动,可选择的查看https://www.typescriptlang.org/tsconfig#lib
"allowJs": false, // 是否对js文件进行编译, 默认false
"checkJs": false, // 是否去检查js语法, 会给js加入ts的检查规则
"removeComments": false, // 在转换的过程中是否移除注释
"noEmit": false, //不生成编译文件
"noEmitOnError": false, //当有错误的时候不编译生成文件
"alwaysStrict": true, //使用编译后是严格模式
"noImplicitAny": false, //不允许隐的any
"noImplicitThis": false, // 不允许不明确的this使用
"strictNullChecks": false, //严格检查null值
"strict": false, // 严格检查的总开关
}
}