我在将 Nestjs 转换为无服务器时遇到了一些麻烦。我的技术栈是 Nestjs、Graphql 和 Prisma。我遵循了多个指南购买无济于事,以下是我遵循的教程。 https://nishabe.medium.com/nestjs-serverless-lambda-aws-in-shortest-steps-e914300faed5 https://github.com/lnmunhoz/nestjs-graphql-serverless
我面临的错误。当我开始导航到它时会发生这种情况。例如,http://localhost:3000/dev/graphql,我想访问操场
问题表明 serverless 文件丢失,但它在 src 下
这是我在 src 文件夹中的 serverless.ts 文件
import { NestFactory } from '@nestjs/core';
import { ExpressAdapter } from '@nestjs/platform-express';
import { Context, Handler } from 'aws-lambda';
import serverless from 'aws-serverless-express';
import express from 'express';
import { Server } from 'http';
import { AppModule } from './app.module';
export async function bootstrap() {
const expressApp = express();
const adapter = new ExpressAdapter(expressApp);
const app = await NestFactory.create(AppModule, adapter);
await app.init();
return serverless.createServer(expressApp);
}
let cachedServer: Server;
export const handler: Handler = async (event: any, context: Context) => {
if (!cachedServer) {
const server = await bootstrap();
cachedServer = server;
return serverless.proxy(server, event, context);
} else {
return serverless.proxy(cachedServer, event, context);
}
};
这是我的 serverless.yml 文件
service: laundry-api
provider:
name: aws
runtime: nodejs12.x
region: ap-southeast-1
stage: dev
profile: default # Config your AWS Profile
plugins:
- serverless-offline
functions:
index:
handler: src/serverless.handler
environment:
SLS_DEBUG: true
events:
- http:
path: graphql
method: any
cors: true
我一直在思考问题出在哪里几个小时,也尝试过 webpack。如果你们能指出我正确的方向,那就太好了谢谢。