有没有办法(或最佳实践)与我的代码前端共享我的TypeORM模型而无需完全重复?

时间:2019-09-02 20:28:06

标签: typeorm

我也想在前端使用通过TypeORM创建的实体。有一种干净的方法吗?还是我应该继续前进。

这时,我的文件结构看起来像这样(前端的Angular 8):

/server
  /entity
    ExampleEntity.ts
/app
  /entity
    Example.ts

它们都具有相同的内容,但是前端缺少所有TypeORM构造。

1 个答案:

答案 0 :(得分:2)

当在后端和前端共享相同的模型时,可以使用a shim来防止未定义装饰器上的错误。只需在您的({特定于前端的)tsconfig.json中定义以下内容:

{
  ...
  "compilerOptions": {
    ...
    "paths": {
      "typeorm": ["./node_modules/typeorm/typeorm-model-shim.js"]
    }
  }
}

这将覆盖typeorm的模块分辨率,以代替垫片。检查here中是否有TypeORM存储库中的相关问题。

话虽如此,通常我会倾向于像您一样维护后端和前端的单独模型,根据我的经验,两者最终还是会有所不同:TypeORM实体通常包含您可能不希望实现的详细信息当然,您的里程可能会有所不同,并且在需要时可以使用垫片!