我试图点击我的图形端点,以使操场弹出在我的浏览器。服务器在无服务器状态下显示,在我执行npm start时,它是通过给出下面的图来运行的。

但是,当我实际单击该链接时,它会给我一个502,并在我的终端中发出以下错误:
``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
``我相信它告诉我,它无法在我的serverless.yml文件中找到我的lambda引用,但是,我设置的路径是正确的,如下所示:
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另外,下面是有问题的graphql.ts文件以供进一步参考:
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();
发布于 2022-07-27 17:59:47
我找到了一个解决方案,我在我的serverless.yml中添加了以下代码
plugins:
- serverless-offline
custom:
serverless-offline:
noPrependStageInUrl: truehttps://stackoverflow.com/questions/70442634
复制相似问题