-
Notifications
You must be signed in to change notification settings - Fork 1
/
tsconfig.json
96 lines (96 loc) · 3.18 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
{
// 文档:https://www.tslang.cn/docs/handbook/compiler-options.html
"compilerOptions": {
"target": "esnext", // 目标语言的版本
"module": "esnext", // 生成代码的模板标准
"strict": false, // 以严格模式解析并为每个源文件生成 "use strict"语句
"jsx": "preserve", // 在 .tsx 中支持 JSX :React 或 Preserve
"moduleResolution": "node", // 模块解析策略,ts默认用node的解析策略,即相对的方式导入
"skipLibCheck": true, // 跳过对一些第三方库的类型检查
"esModuleInterop": true, // 允许export=导出,由import from 导入
"experimentalDecorators": true, // 启用实验性的ES装饰器
"allowSyntheticDefaultImports": true, // 允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查
"forceConsistentCasingInFileNames": true, // 禁止对同一个文件的不一致的引用
"useDefineForClassFields": true, // 不跳过默认值为undefined的变量,防止使用NODE_ENV时报错
"sourceMap": true, // 生成目标文件的sourceMap文件
"baseUrl": ".", // 解析非相对模块的基地址,默认是当前目录
"noImplicitAny": false, // 在表达式和声明上有隐含的 any类型时报错
"types": [ // 加载的声明文件包,如果指定了某个值, 她会在 typeRoots 下找这个包,找到了就只加载这个包
"node",
"webpack-env",
"jest",
],
"paths": { // 路径映射,相对于baseUrl
"@/*": [
"src/*"
],
"@layout/*": [
"src/layout/*"
],
"@views/*": [
"src/views/*"
],
"@router/*": [
"src/router/*"
],
"@img/*": [
"src/assets/images/*"
],
"@styles/*": [
"src/assets/styles/*"
],
"@components/*": [
"src/components/*"
],
"@request/*": [
"src/request/*"
],
"@utils/*": [
"src/utils/*"
],
"@store/*": [
"src/store/*"
],
"@types/*": [
"src/types/*"
],
"@constant/*": [
"src/constant/*"
],
"@plugins/*": [
"src/plugins/*"
],
"@theme/*": [
"src/theme/*"
],
"@mock/*": [
"mock/*"
]
// 例如使用jq时不想使用默认版本,而需要手动指定版本,可进行如下配置
// "jquery": ["node_modules/jquery/dist/jquery.min.js"]
},
// 编译时引入的 ES 功能库,包括:es5 、es6、es7、dom 等。
// 如果未设置,则默认为: target 为 es5 时: ["dom", "es5", "scripthost"]
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
// 生效的目录、文件
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"mock/**/*.ts",
"tests/**/*.tsx",
// vue.config.js中AutoImport插件配置dts: true时需要确保该文件被include,否则ts会报错找不到模块
"auto-imports.d.ts"
],
// 排除的目录、文件
"exclude": [
"node_modules",
]
}