簡體   English   中英

帶有Lambda的Graphql瑜伽游樂場-“無法訪問服務器”

[英]Graphql Yoga Playground with Lambda - “Server cannot be reached”

我正在使用servlerless / lambda設置graphql端點,並且在嘗試連接到graphql-yoga附帶的graphql游樂場時收到錯誤。 當我走到具有游樂場( /playground )的路線時,它會啟動游樂場界面,但它只是說:

無法訪問服務器

在操場的右上方。 值得注意的是,我正在使用makeRemoteExecutableSchema實用程序代理另一個graphql終結點(這是我的CMS,稱為Prismic)。 我不認為這是問題所在,因為在正常的快速服務器上進行測試時,我已經成功地將其連接到了游樂場。

這是我的handler.js中的代碼

'use strict';

const { makeRemoteExecutableSchema } = require('graphql-tools');
const { PrismicLink } = require("apollo-link-prismic");
const { introspectSchema } = require('graphql-tools');
const { ACCESS_TOKEN, CMS_URL } = process.env;
const { GraphQLServerLambda } = require('graphql-yoga')

const lambda = async () => {
  const link = PrismicLink({
    uri: CMS_URL,
    accessToken: ACCESS_TOKEN
  });

  const schema = await introspectSchema(link);

  const executableSchema = makeRemoteExecutableSchema({
    schema,
    link,
  });

  return new GraphQLServerLambda({ 
    schema: executableSchema,
    context: req => ({ ...req })
  });
}

exports.playground = async (event, context, callback) => {
  context.callbackWaitsForEmptyEventLoop = false;
  const graphQl = await lambda();
  return graphQl.playgroundHandler(event, context, callback);
};

我一直按照指南進行操作,直到現在為止,並且可以肯定的是,對於要嘗試執行的操作,我已經遵循了類似的步驟,但是似乎無法弄清楚哪里出了問題。

謝謝,

您能否看一下正在使用哪個版本的graphql-yoga軟件包?

將Apollo服務器與Kentico Cloud Headless CMS結合使用時,我遇到了類似的問題,並且發現了以下問題:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM