我该如何在 monorepo 中共享一个 class 实例?

How do I go about sharing a class instance in a monorepo?

我有一个 JavaScript / TypeScript 单一存储库,使用类似于 Angular CLI 的东西生成,我有 3 个应用程序:前端、服务器和一个 Discord 机器人。

Discord bot 是这个项目的核心,bot 基本上是一个 discord.js class 实例(客户端),我希望我的服务器和 bot 项目都能访问客户端的数据。

我创建了一个库,它公开了我的服务器和机器人应用程序的数据库连接,我的问题是我应该如何处理 class 实例?我应该在库中导出 class 实例并在机器人应用程序中为其编写逻辑并能够在服务器中访问它吗?由于图书馆只会导出

import { Client } from "discord.js"

export const client = new Client()

client.login(process.env.TOKEN)

我想知道,因为我也可以在库中为机器人创建逻辑,但我觉得这违背了结构的要点,我将不胜感激任何反馈

不要共享客户端实例,让 frontendserver 包导入您的 class 并自己创建实例。