使用无服务器部署 express 时出现内部服务器错误

internal server error with when deploying express with serverless

**[没有什么比愚蠢或无用的问题更重要的是我们都在这里学习]**我遇到了一个我几天都无法解决的问题,我正在尝试将我的 express 应用程序部署到aws 使用无服务器,但是当我尝试访问端点时收到此错误

{"message": "Internal server error"}

我实在想不通问题也看了其他类似的问题但是都没有用

这是我的 serverless.yml

    service: my-express-application

provider:
  name: aws
  runtime: nodejs14.x
  stage: dev
  region: us-east-1

functions:
  app:
    handler: app.handler
    events:
      - http: ANY /
      - http: 'ANY /{proxy+}'

这是我的 app.js

const keys = require("./config/keys");
const activitiesRoutes = require("./routes/activity");
const app = express();
const bodyParser = require("body-parser");
const router = express.Router();
const AWS = require("aws-sdk");
AWS.config.update({
    region: "us-east-1",
});
var docClient = new AWS.DynamoDB.DocumentClient();

// set view engine
app.set("view engine", "ejs");

// set up session cookies
app.use(
    cookieSession({
        maxAge: 24 * 60 * 60 * 1000,
        keys: [keys.session.cookieKey],
    })
);

// initialize passport
 app.use(passport.initialize());
 app.use(passport.session());

// connect to mongodb
mongoose.connect(keys.mongodb.dbURI, () => {
    console.log("connected to mongodb");
});

// set up routes


/


app.listen(3000, () => {
    console.log("app now listening for requests on port 3000");
});
module.exports = serverless(app);

我看到一个问题,您没有正确导出 handler 方法。更改此行

module.exports = serverless(app);

对此:

module.exports.handler = serverless(app);

(根据 this。)