I am trying to hit my graph endpoint to get the playground to pop up in my browser. The server shows from serverless that it is running by presenting me with the below figure when I do an npm start
.
However, when I actually go to click on that link it gives me a 502 and spits out the following error in my terminal:
``offline: ANY /dev/graphql (λ: graphql)
offline: Failure: Cannot find module '/Users/aroe/Desktop/projects/test-serverless-backend/src/functions/graph/graphql'
Require stack:
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/index.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/handler-runner/HandlerRunner.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/handler-runner/index.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/LambdaFunction.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/LambdaFunctionPool.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/Lambda.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/lambda/index.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/ServerlessOffline.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/index.js
- /Users/aroe/Desktop/projects/test-serverless-backend/node_modules/serverless-offline/dist/main.js
- /opt/homebrew/lib/node_modules/serverless/lib/classes/PluginManager.js
- /opt/homebrew/lib/node_modules/serverless/lib/Serverless.js
- /opt/homebrew/lib/node_modules/serverless/scripts/serverless.js
- /opt/homebrew/lib/node_modules/serverless/bin/serverless.js
``
I believe it is telling me that it can't find my lambda reference in my serverless.yml file BUT, the path I set is correct as shown here:
service: gamitrak-backend # service name
provider:
name: aws # deploy to AWS
runtime: nodejs12.x
versionFunctions: false # disable function versioning
region: us-west-2 # AWS region
apiGateway:
shouldStartNameWithService: true
functions:
graphql:
handler: src/functions/graph/graphql.graphqlHandler # Lambda handler path
events:
- http:
path: graphql # define Lambda endpoint
method: any # any HTTP method can access this Lambda
cors: true # enable CORS
plugins:
- serverless-offline
Also, here is the graphql.ts file in question for further reference:
import { ApolloServer, gql } from 'apollo-server-lambda'; import { usersTypeDefs, usersResolvers } from './schema/users'; // get the GraphQL schema // resolver functions const server = new ApolloServer({ typeDefs: usersTypeDefs, resolvers: usersResolvers }); // launch the server when the Lambda is called exports.handler = server.createHandler();
I found a solution I added the following code to my serverless.yml
plugins:
- serverless-offline
custom:
serverless-offline:
noPrependStageInUrl: true
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.