我有两个库,一个发出请求,另一个进行日志记录。这两个库都需要来自客户端的配置,客户端将始终使用它们。
请求库始终调用日志库,并将其列为对等依赖项。
日志库有一个函数调用请求库中的方法输出日志。该方法没有日志调用以避免无限循环。日志记录库还将请求库列为对等依赖项。
当我尝试在请求库中运行 tsc
时,它提示无法导入自身。当它导入日志库时,日志库尝试导入找不到的请求库。显然我不想发布每个版本的请求库,其中嵌套了它自己的以前版本,所以安装旧版本是行不通的。
我尝试使用 typescript 的 await import()
在日志库中动态加载请求库,但显然仍然会尝试打开导致错误的请求库。
实现这种双向图书馆关系的最佳方式是什么?
最佳答案
two-way peer-dependencies in typescript?
你不知道。不在 JavaScript 中,不在 TypeScript 中。循环依赖并不好。
修复
在第三个库中隔离循环。
之前:
A -> <- B
之后:
A -> Common
B -> Common
如果你想不到Common
,那么A & B
真的应该是1(而不是2)
关于javascript - 如何在 typescript 中构建具有双向对等依赖性的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56571836/