tsconfig.json 解析

发布时间 2023-05-26 00:02:07作者: TangTaue

TypeScript 新特性之项目引用: Reference

  1. tsconfig.json文件有一个新的顶级属性"references"。
  2. 每个引用的path属性可以指向包含tsconfig.json文件的目录,也可以指向配置文件本身(可以具有任何名称)。

reference属性 对于大型项目中的多个子项目进行全量构建具有显著的效果.能够起到一个增量构建的效果 

  eg: tsc --build --verbose,就会根据references配置去寻找各个子模块,并对它们进行构建,可以理解为对项目的全量构建

该属性需要结合tsconfig.json 文件的 composite 字段使用。 

当被引用的项目开启composite配置项后,会有如下改变和要求:

  1. 当未指定rootDir时,默认值不再是The longest common path of all non-declaration input files,而是包含了tsconfig.json的目录
    Tips: 关于The longest common path of all non-declaration input files的意思可以到tsconfig.json 文章中关于 rootDir 的介绍中查阅
  2. 必须开启include或者files配置项将要参与构建的文件声明进来
  3. 必须开启declaration配置项(因为前面介绍references的时候说了,会加载被引入模块的类型声明文件,因此被引用模块自然得开启declaration配置项生成自己的类型声明文件供主模块加载) (需要开启类型声明文件*.d.ts来使tsc来快速寻找到项目的类型声明文件)。加快tsc在某一个项目中引用多个项目的 ts 编译和构建速度。

  注: 一般很少在项目中使用tsc 将TS代码编译成JS代码 更多的可能使用babel esbuild swc 等工具来编译TS代码到JS 但其实使用tsc 也可进行代码转换编译操作 tsc *.ts --watch

  相关链接:https://blog.csdn.net/mChales_Liu/article/details/124232407