首页 > 解决方案 > 在 Typescript 项目之间共享接口

问题描述

我正在开发两个项目(一个 Angular 客户端和一个 NestJS 服务器),它们最终使用相同的接口,比如用户、产品等。

我正在寻找一种不在两个项目中复制这些接口文件的方法,而是让一个共享项目托管共享代码并由具有自己的构建设置的服务器和客户端项目引用。

你有什么提示吗?谢谢 !

标签: angulartypescriptnestjs

解决方案


建立一个新的“通用”打字稿库存储库,其中包含所有系统范围的接口和功能。版本并将这个公共库发布到 npm 以便于访问

那么客户端和服务器项目都应该npm install mycommonlibrary

本地开发时,应npm link同时开发和调试公用库、客户端和服务器

自以为是的建议:按照上述模式,我发现以下策略很有用:在公共库中编写您应用程序的所有“业务逻辑”,以及您的模拟和测试代码 - 这非常灵活:例如,您可以采取,通常你的服务器端业务逻辑是什么,然后在客户端运行它连接数据库的模拟,这样你就可以像这样同构地锻炼你的大部分系统,这很漂亮


推荐阅读