2

所以我有一个通过 npm 发布的外部模型/接口包,它是使用 typegoose + mongoose 构建的,所以我可以将我的接口放在一个地方,然后在多个应用程序中使用接口/模型,同时保持它们同步。

这是模型/类的示例。

现在的问题是,我在前端制作了一些动态表来处理任何一个集合,所以我试图找到一种方法来获取键作为字符串,同时在一个地方保持所有动态。

到目前为止,我已经尝试过 ts-transformer-keys 但由于必须在编译时实现一些东西,它不能在 Angular 中工作。

我也不能将类直接用于角度,因为类扩展Typegoose取决于mongoose哪个会引发有关某些全局事物的错误,然后使整个应用程序崩溃。

我的类在哪里User扩展 Typegoose 并且IUser是该类的类型,例如:

class test extends User {}

仍然有mongo依赖错误

class test implements User{}

仍然需要手动添加所有属性

Object.keys(User)

mongoose 依赖会抛出错误

Object.keys(IUser)

不起作用,因为类型在运行时不存在;

也许是类上的一个装饰器,它遍历所有键并将构造函数名称添加到类原型中?这似乎不太可能在运行时工作。

对于未来的读者,请阅读这个 github 问题,TL;DR:typegoose 目前不支持客户端类

4

0 回答 0