-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.json
62 lines (62 loc) · 2.19 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
{
"compilerOptions": {
"target": "ES2020", // 最新es6
"useDefineForClassFields": true, // 使用 Object.defineProperty 定义 class 中的属性,而非使用 obj.key = value 的形式定义属性
"module": "ESNext",
"lib": [
"ES2020",
"DOM",
"DOM.Iterable"
], // 引入 ES 最新特性和 DOM 接口的类型定义
"skipLibCheck": true, // 跳过对 .d.ts 文件的类型检查
/* Bundler mode */
"moduleResolution": "bundler", // 模块解析策略
"allowImportingTsExtensions": true, // 允许 TypeScript 文件使用特定于 TypeScript 的扩展名(如 .ts、.mts 或 .tsx)相互导入
"resolveJsonModule": true, // 允许引入 JSON 文件
"isolatedModules": true, // 隔离模块解析时的上下文环境,即不允许在模块中导入其它非声明模块的内容
"noEmit": true, // 不生成输出文件
"jsx": "preserve", // 保留 JSX 语法
/* Linting */
"strict": true, // 启用所有严格类型检查选项(strictNullChecks)
"noUnusedLocals": true, // 不允许有未使用的局部变量
"noUnusedParameters": true, // 不允许有未使用的参数
"noFallthroughCasesInSwitch": true, // 不允许 switch 语句的 case 子句贯穿
"noImplicitAny": true, //不允许使用any
// "strictNullChecks": true, //不允许使用null
"noImplicitThis": true, //不允许往this上面挂属性
"forceConsistentCasingInFileNames": true, //要求所有文件名均使用同一种风格:只有大写字母、小写字母、数字和下划线
"incremental": true, //增量编译
"esModuleInterop": true, //允许使用es6的模块化语法,引入非ES模块
"tsBuildInfoFile": ".cache/tsBuildInfo",
"types": [
"vite/client"
], // /// <reference types="vite/client" />
"baseUrl": ".",
"paths": {
"@/*": [
"src/*"
],
"img/*": [
"src/assets/images/*"
]
}
},
"include": [
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.vue",
"types/**/*.d.ts",
"types/**/*.ts"
],
"exclude": [
"node_modules",
"dist",
"**/*.js"
],
"references": [
{
"path": "./tsconfig.node.json"
}
]
}