-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.json
44 lines (41 loc) · 2.65 KB
/
tsconfig.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// tsconfig.json 配置参考: https://lq782655835.github.io/blogs/project/ts-tsconfig.html
{
"compilerOptions": {
/* 基本选项 */
"module": "esnext", // 指定使用模块: 'commonjs', 'amd', 'system', 'umd' or 'es2015'
"target": "esnext", // 指定 ECMAScript 目标版本: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'("ESNext"表示最新的ES语法,包括还处在stage X阶段)
"noEmit": true, // 不输出, 不编译代码,只执行类型检查, 不生成输出文件
"allowJs": true, // 允许编译 JavaScript 文件
"jsx": "react", // 指定 jsx 代码的生成: 'preserve', 'react-native', or 'react'
"isolatedModules": true, // 将每个文件做为单独的模块 (与 'ts.transpileModule' 类似)
"lib": [ // 指定要包含在编译中的库文件
"esnext",
"dom"
],
/* 严格的类型检查选项 */
"strict": true, // 启用所有严格类型检查选项
/* 模块解析选项 */
"baseUrl": "./", // 用于解析非相对模块名称的基目录
"skipLibCheck": true, // 跳过所有声明文件的类型检查
"allowSyntheticDefaultImports": true, // 允许从没有设置默认导出的模块中默认导入
"esModuleInterop": true, // 发出额外的JavaScript以简化对导入CommonJS模块的支持
"moduleResolution": "node", // 选择模块解析策略: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)。默认是classic
"resolveJsonModule": true, // 允许使用 .json 扩展名导入的模块
"paths": { // 模块名到基于 baseUrl 的路径映射的列表
"@/*": ["src/*"],
"Components/*": ["src/components/*"],
"Utils/*": ["src/utils/*"]
},
/* 额外的检查 */
"noUnusedLocals": true, // 有未使用的变量时,抛出错误
"noUnusedParameters": true, // 有未使用的参数时,抛出错误
"noFallthroughCasesInSwitch": true, // 报告 switch 语句的 fallthrough 错误。(即,不允许 switch 的 case 语句贯穿)
/* 其他选项 */
"experimentalDecorators": true, // 是否启用实验性的ES装饰器
},
"include": [
"src",
"*.ts"
],
"exclude": ["node_modules", "build"]
}