【发布时间】:2020-10-22 14:04:58
【问题描述】:
我正在尝试使用无服务器将具有 ejs 视图引擎的快速应用程序部署为 AWS Lambda 函数 我真的是无服务器框架的新手,需要一些指导。
问题:部署成功,但我从 AWS 端点获得{"message": "Internal server error"}
这是我的快递server.js
const serverless = require('serverless-http');
const Dotenv = require('dotenv').config();
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static('public'));
app.set('view engine', 'ejs');
app.get('/', function (req, res) {
res.render('index',{data: {name: user}, error: null});
}
module.exports.handler = serverless(app);
还有serverless.yml
org: dk013
app: wforecast
service: wforecast
provider:
name: aws
runtime: nodejs12.x
stage: dev
region: us-east-1
functions:
app:
handler: app.handler
events:
- http: ANY /
- http: 'ANY {proxy+}'
plugins:
- serverless-offline
感谢任何关于我的代码/配置有什么问题或如何以正确方式进行操作的指南
【问题讨论】:
-
你检查过cloudwatch上的日志吗??
-
开启API日志并查看cloudwatch
-
不,我没有。你是对的......我应该回来。如果我需要帮助我在那里找到的东西。正如我之前所说,我是 AWS 和无服务器框架的新手。但这是一个真正的菜鸟错误。
-
没有这样的东西。无服务器是如此新,每个人都是菜鸟。别担心
-
我想到了一些事情——你可能需要明确地要求
ejs——否则我看不出它将如何打包在 lambda 中。此外,public静态目录可能会导致问题,因为没有匹配的目录结构。只是猜测。
标签: node.js amazon-web-services express ejs serverless