引用接口定义跨项目/ repos

时间:2018-02-27 11:33:54

标签: typescript

在由多个TypeScript / node.js服务组成的系统中,每个服务都在自己的repo中,我们有一些由多个服务/项目使用的共享接口定义。有时它们是循环的。例如,服务foo需要调用实现IBar接口的对象,而bar服务需要调用IFoo。所以问题是如何在回购中共享这些接口定义。

我的理解是,共享TS代码的最佳实践是将实际共享转换后的JS作为NPM包以及.d.ts文件。但我不确定创建一个循环的NPM包依赖是一个很好的主意。

另一个选择是将共享接口定义提取到一个共享的repo / package,但这有点打破了一个服务=一个repo模型。最终只需更换一项服务就越难,而不必担心意外更换另一项服务。

我还有其他选择吗?

0 个答案:

没有答案