我也想在前端使用通过TypeORM创建的实体。有一种干净的方法吗?还是我应该继续前进。
这时,我的文件结构看起来像这样(前端的Angular 8):
/server
/entity
ExampleEntity.ts
/app
/entity
Example.ts
它们都具有相同的内容,但是前端缺少所有TypeORM构造。
答案 0 :(得分:2)
当在后端和前端共享相同的模型时,可以使用a shim来防止未定义装饰器上的错误。只需在您的({特定于前端的)tsconfig.json
中定义以下内容:
{
...
"compilerOptions": {
...
"paths": {
"typeorm": ["./node_modules/typeorm/typeorm-model-shim.js"]
}
}
}
这将覆盖typeorm
的模块分辨率,以代替垫片。检查here中是否有TypeORM存储库中的相关问题。
话虽如此,通常我会倾向于像您一样维护后端和前端的单独模型,根据我的经验,两者最终还是会有所不同:TypeORM实体通常包含您可能不希望实现的详细信息当然,您的里程可能会有所不同,并且在需要时可以使用垫片!