angular - TypeScript:重用前端(Angular)和后端的接口和类
问题描述
我有一个基于前端(Angular)和后端(使用 NestJS 开发 - 所以它是 NodeJS)的当前项目的 monorepo。我想为前端和后端使用自定义接口和类。例如,创建 DTO 以便我的前端知道我的后端的参数。
我考虑了一个公共文件夹,如下面的项目结构所示,但这不起作用,因为公共文件夹超出了 Angular (tsconfig) 的范围,因此自动完成不起作用
project
├── client (Angular)
├── server (NestJS)
└── common (client and server share specific interfaces and classes)
有没有人有这方面的经验?目前我将我的接口添加到两个文件夹中,但这很糟糕,因为如果我更新一个接口,我也必须替换另一个。
解决方案
在 TypeScript 3.0 中引入了“项目引用”。这可以帮助你实现你想要的(我用它在角度和云函数之间共享模型)
https://www.typescriptlang.org/docs/handbook/project-references.html
您需要做的是将外部项目引用添加到tsconfig.json
应该从其他地方重用文件的项目的
{
"compilerOptions": {
// The usual config
},
"references": [
{ "path": "../my-other-project" }
]
}
推荐阅读
- excel - 如果其他单元格的值相同,则合并单元格
- c - C:在列表中使用哨兵
- solr - Solr:在定义的数字/时间戳之上和之下的范围内获取 X 结果
- excel - 如何删除常规标题上方的烦人标题?
- php - Laravel 5.7 - 作曲家中缺少文件?
- javascript - 如何在 QML 中创建 JavaScript 对象
- php - SimpleXMLElement 正在删除属性 (php 7.2)
- microsoft-translator - 在自定义翻译器中获取社区翻译功能
- php - Phinx 播种机在控制台中工作,但在单元测试中不工作
- php - PHP - 类中的静态特征方法实现