-
Notifications
You must be signed in to change notification settings - Fork 12
/
tsconfig.json
54 lines (52 loc) · 2.48 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
// tsconfig.json
// 中文查看:https://www.tslang.cn/docs/handbook/tsconfig-json.html
// 英文查看:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
{
// ts-node 文档:https://github.com/TypeStrong/ts-node
// tsconfig extends:https://github.com/tsconfig/bases
"extends": "ts-node/node16/tsconfig.json",
"compilerOptions": {
// 模块解析策略:Node 和 Classic
// 中文查看:https://www.tslang.cn/docs/handbook/module-resolution.html
// 英文查看:https://www.typescriptlang.org/docs/handbook/module-resolution.html
// 一般情况下都是使用 Node,简单理解为参考 Node 的 require 算法解析引入模块的路径
"moduleResolution": "node",
// 允许从没有设置默认导出的模块中默认导入
"allowSyntheticDefaultImports": true,
// 删除所有注释,除了以 /!* 开头的版权信息
"removeComments": true,
// 生成相应的 .d.ts文件
"declaration": true,
// 启用所有严格类型检查选项。启用 --strict 相当于启用 --noImplicitAny, --noImplicitThis, --alwaysStrict, --strictNullChecks, --strictFunctionTypes 和 --strictPropertyInitialization
"strict": true,
// 禁止对同一个文件的不一致的引用
"forceConsistentCasingInFileNames": true,
// 报错时不生成输出文件
"noEmitOnError": true,
// 编译过程中需要引入的库文件的列表
"lib": ["DOM", "ES2015.Promise", "ES6", "ESNext"],
// 允许使用 import 代替 import *
// 英文查看:https://www.typescriptlang.org/tsconfig#esModuleInterop
"esModuleInterop": true,
"module": "CommonJS",
// 解析非相对模块名的基准目录
"baseUrl": ".",
// 将每个文件作为单独的模块
"isolatedModules": true,
// 允许引入 .json 扩展的模块文件
"resolveJsonModule": true,
// 启动 decorators
"experimentalDecorators": true,
// 非相对模块导入的路径映射配置
// 例如在项目中使用 import core from '@/core/core' 等价于 import core from '../../src/core/core'
// 这里的 @ 可以方便的使应用在设计代码时忽略代码的层级目录深度,@ 指向 src 所在的目录位置
// https://www.tslang.cn/docs/handbook/module-resolution.html
"paths": {
"@/*": ["src/*"]
}
},
// 编译器包含的文件列表,可以使用 glob 匹配模式
"include": ["src/**/*", "test/**/*", "build/**/*"],
// 编译器排除的文件列表
"exclude": ["node_modules"]
}