TypeScript:重用前端(Angular)和后端的接口和类

我有一个基于前端(Angular)和后端(使用nestJS开发的当前项目的monorepo – 所以它是NodeJS).我想使用自定义接口和类 – 前端和后端.例如,创建DTO,以便我的前端知道我后端的参数.

我想到了一个常见的文件夹,如下面的项目结构所示,但这不起作用,因为公共文件夹超出了Angular(tsconfig)的范围,因此自动完成不起作用

project
├── client (Angular)
├── server (nestJS)
└── common (client and server share specific interfaces and classes)

有没有人有这方面的经验?目前我将接口添加到两个文件夹,但这是邪恶的,因为如果我更新一个接口,我也必须替换另一个接口.

解决方法

Lerna这样的工具有助于这种设置,从经验来看,这是最简单的方法,而不需要创建任何私有的npm repos(这是另一种选择).

基本上,您设置角度和服务器包以安装公共包,就像任何其他npm包一样,并运行lerna为每个包创建虚拟链接.这样,当您需要intellisense时,编辑器将通过lerna在引导阶段创建的虚拟文件链接,从而允许您创建任意数量的常见包,而无需进行任何繁重的连接以连接所有使用者包.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...