最近项目引入了 ts,TypeScript 是 Javascript 的超集,为其增加了类型系统,可以编译为普通 Javascript 代码。那么如何配置 ts 编译选项成为了一个难题,本文介绍如何为项目配置 ts 的编译选项。
认知 tsconfig.json
如果一个目录下存在一个tsconfig.json
文件,那么它意味着这个目录是 TypeScript 项目的根目录。 tsconfig.json
文件中指定了用来编译这个项目的根文件和编译选项。 一个项目可以通过以下方式之一来编译
使用 tsconfig.json
- 不带任何输入文件的情况下调用
tsc
,编译器会从当前目录开始去查找tsconfig.json
文件,逐级向上搜索父目录。 - 不带任何输入文件的情况下调用
tsc
,且使用命令行参数--project
(或-p
)指定一个包含tsconfig.json
文件的目录。
当命令行上指定了输入文件时,tsconfig.json
文件会被忽略。
一份常用的 tsconfig.json 配置清单如下:
{
"compilerOptions": {
"target": "es5", // 编译的目标
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"noUnusedLocals": false,
"noUnusedParameters": false,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": false,
"jsx": "preserve",
"baseUrl": "./",
"paths": {
"@": ["src/"]
}
},
"include": ["./src/**/*"]
}
tsconfig.json 的所有配置项以及相应的说明如下