ts3.0引入的新特性: 工程引用

项目目录树

object/

src/

client/

common/

server/

test/

tsconfig.json

问题:

1.不希望在构建目录dist下有src目录

2.我们不能单独构建client端和server端代码

3.不想把test测试用例构建到dist目录下

以上问题通过单个tsconfig.json配置文件解决不了

工程引用使用方法

不改变原有代码和目录,只改变配置文件(把原有项目分为多个小工程,在每个工程的目录下添加tsconfig.json配置)

修改obj/tsconfig.json

{

"comopilerOptions": {

"target": "es5",

"module": "commonjs",

"strict": true,

"composite": true, // 添加该选项,含义是:工程可以被引用,并且可以增量编译

"declaration": true,

}

}

- 添加obj/src/client/tsconfig.json

{

"extends": "../../tsconfig.json",

"compilerOptions": {

"outDir": "../../dist/client"

},

"references": [ // 配置所依赖的工程

{ "path": "../common" }

]

}

- 添加obj/src/common/tsconfig.json

{

"extends": "../../tsconfig.json",

"compilerOptions": {

"outDir": "../../dist/common"

},

}

- 添加obj/src/server/tsconfig.json

{

"extends": "../../tsconfig.json",

"compilerOptions": {

"outDir": "../../dist/server"

},

"references": [

{ "path": "../common" }

]

}

- 添加obj/src/test/tsconfig.json

{

"extends": "../../tsconfig.json",

"references": [

{ "path": "../src/client" },

{ "path": "../src/server" }

],

}

支持工程引用的构建命令(在obj/目录下命令行运行):

tsc -b src/server --verbose server项目以及其引用的common被构建

tsc -b src/client --verbose

tsc -b test --verbose

清空指定目录下的构建文件:tsc -b test --clean

工程引用的优点

1.解决了输出目录的结构问题

2.解决了单个工程构建问题

3.通过增量编译增加了编译速度

java项目引入json配置,TS-28 配置tsconfig.json(3):工程引用相关推荐

  1. Java项目集成apollo,SpringBoot集成Apollo配置中心

    准备工作 本文假设读者已经在本地部署Apollo配置中心,如还未部署可参考之前的文章 <Docker部署Apollo配置中心> 文章将引导在Docker中运行Apollo配置中心.在开始使 ...

  2. idea普通java项目引入lombok_IDEA中Lombok的使用

    以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString:异常处理:I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运 ...

  3. idea普通java项目引入lombok_Intellij IDEA 安装lombok及使用详解

    项目中经常使用bean,entity等类,绝大部分数据类类中都需要get.set.toString.equals和hashCode方法,虽然eclipse和idea开发环境下都有自动生成的快捷方式,但 ...

  4. java项目引入ear包_在Eclipse for EAR Project中添加外部jar文件 - java

    我需要将外部jar文件添加到EAR项目. 我确实添加了,但是jar文件没有反映在lib目录中,它显示在lib目录下面. 我在右键单击Deployment Descriptor,Import-> ...

  5. xcode 新建java项目_Objective-C入门教程01:使用Xcode新建一个工程

    Xcode 是 Apple 的集成开发环境(就像开发Java使用Eclipse一样),用于 iOS 和 Mac OS X 的开发.Xcode可以直接在App Store中安装.在 Mac 上安装 Xc ...

  6. java包引入顺序_多个相同jar存在时的引用顺序

    起因:今天一个aar包在测试环境中正常运行,使用soapui测试正常返回,在本地环境中运行则老是报数据库连接异常,经检查,是因为在运行时环境中缺少ojdbc相关的jar包引起的. 重新打了一个aar包 ...

  7. 干货! 快速上手typescript的学习笔记 (对比JS的新特性,环境搭建,webpack配置,ts编译配置)

    前提需要有js的基础 文章目录 TypeScript 产生背景 什么是TypeScript? TypeScript增加了什么 TypeScript开发环境搭建 基本类型 编译文件配置 tsconfig ...

  8. tsconfig.json配置

    什么工具看什么官网-一般都会有说明的 https://www.tslang.cn/docs/handbook/tsconfig-json.html 概述 如果一个目录下存在一个tsconfig.jso ...

  9. vue2项目引入ts实操记录(一)

    背景: vue2+ElementUi 原因: 之所以要在vue2中引入ts,是为了规范项目,更是为了后面学习vue3+ts做准备. 移入ts修改思路: 先修改.vue文件-----------再修改全 ...

最新文章

  1. 30 岁码农人生:人生至暗时,你依然能窥见光明
  2. 系统性能检测工具之lsof
  3. 【Paper】11_[25]A distributed control scheme for multiple robotic vehicles to make group formations
  4. 9.2 mnist_with_summaries tensorboard 可视化展示
  5. linux c文件操作,Linux C 文件的输入/输出操作
  6. github 创建文件夹
  7. MapGuide 浏览器可接受参数分析
  8. 草稿 断开式数据连接
  9. 【Flink】ExceptionInChainedOperatorException: Could not forward element to next operator Buffer
  10. 计算机组成原理学习四笔记一
  11. 电脑集成显卡莫名消失与重新恢复的过程,以华硕Z97-K主板为例说明
  12. 2019最新麦子学院web前端开发工程师(全套)
  13. UG NX 12 使用快捷键调整视图方位
  14. 11【matplotlib常用统计图】03绘制多次条形图
  15. win10摄像头打开后黑屏怎么回事?(驱动重新装了、注册表按照网上的方法也改过了、相机隐私设置也打开了,总之各种方法都尝试了还是打开黑屏)
  16. Java 标准 I/O 流编程一览笔录( 下 )
  17. Windows 安装Docker碰到 cannot enable hyper-v service
  18. Affinity Designer Beta(mac设计绘图工具)
  19. 2019手机号码JS正则表达式
  20. 点击应用图标-应用(Activity)的启动流程

热门文章

  1. 深入以太坊智能合约ABI
  2. 俄罗斯调查PC厂商合谋操纵市场 联想被指妨碍调查
  3. iOS开发之网络编程--获取文件的MIMEType
  4. ASP.NET抓取网页内容
  5. OGEngine引擎开发slot 手游强势来袭
  6. Displaying a Refresh Control for Table Views
  7. C# 代码重启windows服务
  8. [CTSC2008]网络管理Network
  9. java 实现类似于python requests包的Session类,自动管理cookie。
  10. 麦肯锡在全球调研分析160个案例,给出5个行业的34个AI应用场景