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



我正在开发基于ReactJs-GraphQL-aws appsync的应用程序。 构建和配置基于 AWS Amplify。 目前一切都在相同的源代码中。 我们可以为 UI 和后端提供单独的包吗?

例如,React -redux 和所有 UI 内容都将在一个代码存储库/包中。 和 GraphQL-appsync 解析器相关的代码将位于单独的代码库或单独的代码存储库中。 如果是,您能否解释更多如何做到这一点。 或者您认为将 UI 和后端分开是一个不错的选择。

如果我解释正确,请告诉我。

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

如果您计划使用相同的后端资源为多个前端应用程序提供支持,那么我认为将其分解为不同的项目是个好主意。如果你想这样做,我建议将你的Amplify项目保留为后端目录,然后将你的前端代码移动到一个新项目中。

您是否正在使用 Amplify 代码生成工具?codegen 命令接受一个 --api-id 参数,现在你已经将它们拆分出来,可以从前端项目中使用该参数。

最新更新