首页 > 解决方案 > 共享 GraphQl 模式以生成代码的最佳方式

问题描述

我有这个微服务项目,我想在其中尝试客户端驱动的模式优先方法。而且因为我很懒,所以我想要生成必要的代码。

对于 Angular 前端,我使用graphql-codegen工具,而对于后端,我使用graphql-codegen-maven-plugin插件。两者都生成了我可以使用的代码,并使开发,特别是同步前端和后端模型变得更加容易。

因为我使用的是 Docker,所以后端和前端是使用docker-compose. 但是共享模式被证明是具有挑战性的。

目前,我只是将架构从前端符号链接到后端。当从命令行或 IDE 本地运行应用程序时,这可以正常工作。但是在使用 Docker 命令时它不起作用。

我也考虑过使用 git 子模块,但因为我使用的是单声道存储库,所以这不是很有用。

我试图避免使用脚本将架构文件从客户端复制到服务器目录,因为我不想拥有这种隐含的知识,即您只能在一个模块内编辑架构文件。有一个符号链接有点整洁。

是否有任何有用的方法不会带来太多的权衡,这是我不知道的最佳实践?还是我的想法完全错了,生成前端和后端代码应该有所不同?

标签: docker-composegraphqlmicroservicescode-generation

解决方案


推荐阅读