将带有 graphql 棱镜的 Nestjs 转换为无服务器,启动时出错

问题描述

我在将 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,我想访问playground

enter image description here

问题显示 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,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。 如果你们能指出我正确的方向,那就太好了 谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)