问题前的先决条件: 我已经在NestJs中完成了使用express实例运行的应用程序,即使在Firebase Cloud Functions中也可以正常运行。我什至为这些情况制作了一个公开开始模板: https://angularfirebase.com/lessons/graphql-apollo-2-tutorial-node/
第二个先决条件是,我研究了在Google中使用GraphQL进行部署的方式,发现只有使用Google Cloud App Engine才有可能,事实上,我分享了一个示例: https://angularfirebase.com/lessons/graphql-apollo-2-tutorial-node/
然后,我继续使用Google Cloud App Engine进行测试,可以部署使用NestJs制作的应用程序,并且我的测试取得了成功,并且使用了即使使用最新版本的NestJs制作的应用程序也可以毫无问题地部署的应用程序引擎我什至为这些情况制作了一个公开开始模板: https://github.com/IngAjVillalon/Nestjs_GCloud-App-Engine-Standard
但是当我开始使用NestJs GraphQL软件包时出现了问题: https://文档。 nestjs.com/graphql/quick-start
显然,在我的本地开发环境中一切正常,nodemon
工作正常。的
即使使用npm run build (tsc -p tsconfig.build.json)
在本地测试我的项目符号,node dist / main.js
也可以毫无错误地进行编译。
我的环境是Win10-64 NodeJs-10.14.1
但是问题出在我在Google Cloud App部署中部署应用程序时,出现以下错误:
(node: 17) UnhandledPromiseRejectionWarning: Error: Query.user defined in resolvers, but not in schema
显然,@ nestjs / graphql模块没有像在本地环境中那样,将* .graphql文件中的架构传递给gcloud app Engine环境中的apollo-server-express。
我共享我的存储库,您可以在其中自由查看所有设置,并且如果您希望重现上面说明的所有内容: https://github.com/IngAjVillalon/Crewnie-Gcloud-Nestj-GraphQL-Backend
我的动机是实现NestJS应用程序和GraphQl的开发环境,并确保所投资的所有工作都将能够顺利进行而不会出现任何问题。 实际上,我加入社区的承诺是,一旦实现该承诺,我将创建并维护一个示例模板,以便其他用户可以使用它并随着社区的发展。