Node.js 无服务器lambda不';更新apollo服务器lambda npm后无法工作

Node.js 无服务器lambda不';更新apollo服务器lambda npm后无法工作,node.js,lambda,apollo,serverless,apollo-server,Node.js,Lambda,Apollo,Serverless,Apollo Server,目前我使用的是apollo服务器lambda npm版本1.4.0。将npm更新到2.4.8版后,它就不工作了 这是我的无服务器lambda代码 var {graphqlLambda} = require("apollo-server-lambda"); var {makeExecutableSchema} = require('graphql-tools'); var {schema} = require('./schema'); var {resolvers} = require('./re

目前我使用的是apollo服务器lambda npm版本1.4.0。将npm更新到2.4.8版后,它就不工作了

这是我的无服务器lambda代码

var {graphqlLambda} = require("apollo-server-lambda");
var {makeExecutableSchema} = require('graphql-tools');
var {schema} = require('./schema');
var {resolvers} = require('./resolvers');
const vandium = require('vandium' );
const myGraphQLSchema = makeExecutableSchema({
typeDefs: schema, resolvers,
logger: console,
});
module.exports.graphqlHandler = (event, context, callback) => {  
context.callbackWaitsForEmptyEventLoop = false;
function callbackFilter(error, output) {
  output.headers['Access-Control-Allow-Origin'] = '*';
  callback(error, output);
}
  const handler = graphqlLambda({ schema: myGraphQLSchema });
  return handler(event, context, callbackFilter);   
};
它抛出一个错误: 失败:graphqlLambda不是文档中建议的函数,您可以通过以下3个步骤升级到v2.4.8

  • 使用ApolloServer创建服务器
  • 使用
    createHandler
    方法创建
    graphqlHandler
  • 使用
    graphqlHandler
    处理请求
  • 您可以参考下面的代码

    const { ApolloServer } = require('apollo-server-lambda');
    
    //1
    const server = new ApolloServer({
      typeDefs,
      resolvers
    });
    //2
    const graphqlHandler = server.createHandler();
    
    module.exports.graphqlHandler = (event, context, callback) => {
      context.callbackWaitsForEmptyEventLoop = false;
      function callbackFilter(error, output) {
        output.headers['Access-Control-Allow-Origin'] = '*';
        callback(error, output);
      }
    //3
      graphqlHandler(event, context, callbackFilter);
    };
    
    我希望主要错误(graphqlLambda不是函数)已经解决,您可以调用gqlapi。对于新错误,您必须提供更具体的代码和堆栈跟踪。