将GraphQL-AppSync-Schema-Resolver代码与UI ReactJS代码分开

时间:2019-03-25 16:48:53

标签: reactjs graphql aws-appsync aws-amplify

我正在开发基于ReactJs-GraphQL-aws appsync的应用程序。构建和配置基于AWS放大。当前,所有内容都在相同的源代码中。我们可以为UI和后端提供单独的软件包吗?

例如React -redux和所有UI内容将在一个代码存储库/程序包中。与GraphQL-appsync解析器相关的代码将位于单独的代码库或单独的代码存储库中。如果可以的话,请您进一步解释如何做。还是将UI和后端保持独立是一个不错的选择。

请让我知道我是否正确解释了。

2 个答案:

答案 0 :(得分:1)

如果您不打算拥有一个ReactJS客户端,那么我认为没有必要拆分代码库。关于放大的最大好处是,它将根据带注释的类型架构生成查询,变异,输入,过滤器和订阅。它将放置在前端src文件夹中,因此您的前端开发人员只需import { listAllTypes } from '/src/graphql/queries.js',然后在其客户代码中使用该查询即可。不需要分开,因为您的前端开发人员将只在project_root/src目录中工作,而后端开发人员将仅在project_root/amplify/backend目录中工作。使用良好的git工作流程将使团队之间的关注点保持清晰。

答案 1 :(得分:0)

如果您打算为多个前端应用程序提供相同的后端资源,那么我认为将其分解为另一个项目是一个好主意。如果您愿意,我建议您将Amplify项目保留为后端目录,然后将前端代码移至新项目中。

您是否正在使用Amplify代码生成工具?现在,codegen命令接受一个--api-id参数,您可以在前端项目中使用该参数。