TypeScript 新特性之项目引用: Reference
- tsconfig.json文件有一个新的顶级属性"references"。
- 每个引用的path属性可以指向包含tsconfig.json文件的目录,也可以指向配置文件本身(可以具有任何名称)。
reference属性 对于大型项目中的多个子项目进行全量构建具有显著的效果.能够起到一个增量构建的效果
eg: tsc --build --verbose
,就会根据references
配置去寻找各个子模块,并对它们进行构建,可以理解为对项目的全量构建
该属性需要结合tsconfig.json 文件的 composite 字段使用。
当被引用的项目开启composite
配置项后,会有如下改变和要求:
- 当未指定
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 的介绍中查阅 - 必须开启
include
或者files
配置项将要参与构建的文件声明进来 - 必须开启
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