javascript - 如何在 typescript 中构建具有双向对等依赖性的库?

标签 javascript node.js typescript npm peer-dependencies

我有两个库,一个发出请求,另一个进行日志记录。这两个库都需要来自客户端的配置,客户端将始终使用它们。

请求库始终调用日志库,并将其列为对等依赖项。

日志库有一个函数调用请求库中的方法输出日志。该方法没有日志调用以避免无限循环。日志记录库还将请求库列为对等依赖项。

当我尝试在请求库中运行 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/

相关文章:

javascript - HTML Canvas 性能 - 导入图像或绘制 Canvas

javascript - NodeJS 如何处理内存?

javascript - 如何使用 dojo 对 Json 中的不同值进行计数或求和

javascript - 即使机器人是管理员,Discord JS 管理角色权限也会丢失

javascript - 如何在 Angular 2 应用程序中使用 Phoenix Channels/Sockets?

javascript - 如何拥有同一 Javascript 模块的多个实例?

mysql - 使用 sequelize 从 child 那里获取父记录

node.js - 如何计算从 mongoose 查询返回的文档使用的磁盘空间(字节)?

node.js - 无法连接错误 - Linux 服务器上的 Node Express 应用程序

reactjs - Mocha + Webpack + Typescript(React): Error cannot find module (typescript component)