我正在开发基于ReactJs-GraphQL-aws appsync的应用程序。构建和配置基于AWS放大。当前,所有内容都在相同的源代码中。我们可以为UI和后端提供单独的软件包吗?
例如React -redux和所有UI内容将在一个代码存储库/程序包中。与GraphQL-appsync解析器相关的代码将位于单独的代码库或单独的代码存储库中。如果可以的话,请您进一步解释如何做。还是将UI和后端保持独立是一个不错的选择。
请让我知道我是否正确解释了。
答案 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参数,您可以在前端项目中使用该参数。