Ad
Serverless Lambda Doesn't Work After Updating Apollo-server-lambda Npm
Currently I'm using apollo-server-lambda npm version 1.4.0. After updating the npm to version 2.4.8 it doesn't work.
Here is my serverless lambda code
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);
};
It throws an error: Failure: graphqlLambda is not a function
Ad
Answer
As suggested in doc here you can upgrade to v2.4.8 by following below 3 steps,
- use
ApolloServer
for creating server - use
createHandler
method to creategraphqlHandler
- use
graphqlHandler
for handling request.
You can refer below code,
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);
};
Ad
source: stackoverflow.com
Related Questions
- → Maximum call stack exceeded when instantiating class inside of a module
- → Browserify api: how to pass advanced option to script
- → Node.js Passing object from server.js to external modules?
- → gulp-rename makes copies, but does not replace
- → requiring RX.js in node.js
- → Remove an ObjectId from an array of objectId
- → Can not connect to Redis
- → React: How to publish page on server using React-starter-kit
- → Express - better pattern for passing data between middleware functions
- → Can't get plotly + node.js to stream data coming through POST requests
- → IsGenerator implementation
- → Async/Await not waiting
- → (Socket.io on nodejs) Updating div with mysql data stops without showing error
Ad