美文网首页
TSConfig文件详解03

TSConfig文件详解03

作者: 从零开始学ArchLinux | 来源:发表于2024-06-12 23:56 被阅读0次

顶层配置字段

顶层配置字段是TSConfig文件的顶层配置项,这些配置项决定了TypeScript或者JavaScript项目的设置方式。

文件配置项-files

指定要包含在程序中的文件的允许列表,如果该列表中的文件找不到,将会在类型检查/编译时报错。主要应用于程序包含较少的文件,如果包含的文件较多,可以通过glob的方式设置顶层配置项include

默认值: false

{
  "compilerOptions": {},
  "files": [
    "core.ts",
    "sys.ts",
    "types.ts",
    "scanner.ts",
    "parser.ts",
    "utilities.ts",
    "binder.ts",
    "checker.ts",
    "tsc.ts"
  ]
}

扩展配置项-extends

配置项的值是一个字符串,为要继承的另一个配置文件的路径,该路径应该可以通过Node.js解析,如果路径为相对路径,那么这相对路径为基于当前配置文件的相对路径。

首先加载配置文件中extends配置的文件,如果当前的配置项和继承的配置文件的配置项冲突,那么当前配置项将覆盖继承配置项。

默认值: false

# tsconfig.base.json
{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true
  }
}

> 值得注意的是,当前配置文件中的`files`、`include`和`exclude`会覆盖继承的配置文件中的`files`、`include`和`exclude`,并且配置文件之间不允许循环继承。

# tsconfig.json
{
  "extends": "./configs/base",
  "files": ["main.ts", "supplemental.ts"]
}

当前配置文件中的filesincludeexclude会覆盖继承的配置文件中的filesincludeexclude,并且配置文件之间不允许循环继承。

包含配置项-include

包含配置项指定一个文件名称或者glob模式的数组,文件名称的路径为相对于当前配置文件所在的目录。

默认值:如果配置了files,为[],否则为**/*

# tsconfig.json
{
  "include": ["src/**/*", "tests/**/*"]
}
# 工程目录
.
├── scripts                ⨯
│   ├── lint.ts            ⨯
│   ├── update_deps.ts     ⨯
│   └── utils.ts           ⨯
├── src                    ✓
│   ├── client             ✓
│   │    ├── index.ts      ✓
│   │    └── utils.ts      ✓
│   ├── server             ✓
│   │    └── index.ts      ✓
├── tests                  ✓
│   ├── app.test.ts        ✓
│   ├── utils.ts           ✓
│   └── tests.d.ts         ✓
├── package.json
├── tsconfig.json
└── yarn.lock

includeexclude配置项支持的glob模式的通配符

  • *:匹配除路径分隔符之外的0个或多个字符(>=0)
  • ?:匹配除路径分隔符之外的多个字符(>=1)
  • **/:匹配多个层级的目录
    如果模式中最后一段不包含文件扩展名或者通配符,那么匹配该目录下的所有文件(支持的文件扩展为:.ts,.tsx,.d.ts,如果allowJs配置为true,还支持.js,.jsx

排除配置项-exclude

指定在解析include配置的文件时应该排除在外的文件名称或者glob模式数组。

默认值:node_modules, bower_components,jspm_packages,outDir配置的值

  1. 不是为了阻止文件包含在代码中的目的
  2. 仅仅改变include匹配的文件的结果
  3. 如果在代码中通过import引入,或者类型引入,/// <reference包含,files中包含,仍然会包含exclude排除的文件

参考配置项-references

references配置项是一种将 TypeScript 程序构建为更小的片段的方法。使用references可以极大地缩短构建、编辑器交互的时间,组件之间的逻辑分离,改善代码组织结构,了解references如何工作的更多信息可以参考 Project References

相关文章

网友评论

      本文标题:TSConfig文件详解03

      本文链接:https://www.haomeiwen.com/subject/jounqjtx.html