【问题标题】:Why is Express isn't able to find ejs in netlify lambda serverless为什么 Express 无法在 netlify lambda serverless 中找到 ejs
【发布时间】:2021-10-14 18:00:42
【问题描述】:

我正在尝试使用带有 netlify 的无服务器 http 来部署项目。到目前为止,我已经成功部署,但是页面显示“内部服务器错误”,当我检查控制台时,它显示“找不到模块 ejs”。我尝试重新安装 ejs 并在全球范围内表达,并将“node_modules”文件夹移至更高级别,但仍然没有运气。

这是我的代码:

require('dotenv').config()

const express = require('express')
const app = express()
const port = 3000;
const bodyParser = require('body-parser')
const router = require('./routes')
const path = require('path')
const ejs = require('ejs');

const serverless = require('serverless-http');

app.use(express.static(path.join(__dirname, "/public")))
app.use(bodyParser.urlencoded({extended: true}))
app.use(bodyParser.json())
app.use('/.netlify/functions/index', router)

app.set('view engine', 'ejs')

module.exports.handler = serverless(app);

所以我把 app.set('view engine', 'ejs') 说它找不到 ejs

但是,这确实可以正常工作

节点索引.js

但我不知道为什么它在这里不起作用。

非常感谢您的帮助!!!

【问题讨论】:

    标签: node.js lambda serverless netlify


    【解决方案1】:

    您忘记说明视图所在文件夹的位置

    这应该可以解决它

    // view engine setup
    app.set('views', path.join(__dirname, 'views')); \\ views being the name of the folder in the root dir
    app.set('view engine', 'ejs');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2021-04-03
      • 2019-09-10
      相关资源
      最近更新 更多