Предшественники, прежде чем прийти к проблеме:
Я уже делал приложения в NestJ, которые без проблем запускаются даже в облачных функциях Firebase, используя экземпляр Express. Я даже сделал публичный стартовый шаблон для этих случаев:
https://angularfirebase.com/lessons/graphql-apollo-2-tutorial-node/
Второй предшествующий случай заключается в том, что я исследовал способ развертывания, выполненный в GraphQL в google, и обнаружил, что это возможно только с помощью Google Cloud App Engine, фактически я поделюсь примером:
https://angularfirebase.com/lessons/graphql-apollo-2-tutorial-node/
Затем я приступил к тестированию его с помощью Google Cloud App Engine. Появилась возможность развертывания приложений, созданных с помощью NestJ, и я был успешен в своем тесте, с механизмом приложений, который я мог без проблем развертывать, приложения, созданные даже с последней версией NestJ. Я даже сделал публичный стартовый шаблон для этих случаев:
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 для развертывания, я получаю следующую ошибку:
(node: 17) UnhandledPromiseRejectionWarning: Error: Query.user defined in resolvers, but not in schema
Очевидно, модуль @ nestjs / graphql не передает схемы внутри файлов * .graphql в apollo-server-express в среде Engine gcloud, как это происходит в моей локальной среде.
Я делюсь своим репозиторием, где вы можете свободно видеть все настройки и, если хотите воспроизвести все, как описано выше:
https://github.com/IngAjVillalon/Crewnie-Gcloud-Nestj-GraphQL-Backend
Моя мотивация заключается в создании среды разработки приложений NestJS и GraphQl с гарантией того, что вся вложенная работа сможет взлететь без каких-либо проблем.
Фактически, я присоединяюсь к сообществу с обязательством, что, как только я его достигну, я создам и буду поддерживать исходный пример шаблона, чтобы другие пользователи могли его использовать, и сообщество росло.