-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.json
56 lines (53 loc) · 1.95 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
{
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ES2020", "DOM", "DOM.Iterable", "ESNext.Symbol"],
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"baseUrl": ".",
/**
* 为什么不设置为 "@theme/components/*": [".vitepress/theme/components/*"] ?
*
* 因为vitepress在设置 vite 配置的时候,偷偷做了一层处理,官方文档没有说。它将 @theme 配置为
* .vitepress/theme 路径的 alias, 这样在vite编译文件的时候,可以直接识别出 @theme。而此处这
* 是在ts里设置,在写import的时候,vscode可以识别 @theme/components/* 这样的路径,但在运行的
* 时候,vite 没法找到。所以,这里的ts配置,必须要和vite默认设置的 @theme 看齐。
*
* 如果非要坚持设置为 "@theme/components/*": [".vitepress/theme/components/*"],
* 就需要在 .vitepress/config.ts 的 vite 配置项中,设置 resolve.alias.
* refer: https://github.com/vuejs/vitepress/discussions/2746#discussioncomment-6661857
*/
"paths": {
"@theme/*": [".vitepress/theme/*"]
}
},
"include": [
"docs/**/*.ts",
"docs/**/*.d.ts",
/**
* 解决 vue 文件中,使用 import.meta.env 时,ts找不到 env 定义
*/
"./env.d.ts",
"docs/**/*.tsx",
".vitepress/**/*.ts",
/**
* 为了让 vue 文件中的 ts 代码接收到上述配置约束,
* 要加入这一行,否则 vue 中ts代码总是报错
*/
".vitepress/**/*.vue"
],
"exclude": [".vitepress/cache/**/*.ts", ".vitepress/dist/**/*.ts"]
}