TypeError: res.render is not a function, while trying to use view engine in server-side using express and ejs

TypeError: res.render is not a function, while trying to use view engine in server-side using express and ejs

我正在阅读有关模板的教程。我只是按照 "code along" 规则来学习使用模板。我收到错误消息说 res.render 不是一个函数。但是在导师中做同样的事情能够产生结果。

这是我使用 Express(节点)的代码:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();

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

app.get('/', function(res, req) {

  var today = new Date();
  var currentDay = today.getDay();
  var day = "";

    switch (currentDay) {
      case 0:
        day = "Sunday";
        break;
      case 1:
        day = "Monday";
        break;

      case 2:
        day = "Tuesday";
        break;

      case 3:
        day = "Wednesday";
        break;

      case 4:
        day = "Thursday";
        break;

      case 5:
        day = "Friday";
        break;

      case 6:
        day = "Saturday";
        break;

      default:
      console.log("Error: Current day is " + currentDay);

    }

   res.render("list.ejs", {
      kindOfDay:day
  });

});

app.listen(3000, function() {
  console.log("Server is running in port:3000");
});

在使用模板的快速文档中,它显示在 res.render() 中也使用扩展。也试过了。仍然显示 'error:res.render is not a function'.
- kindOfDay 是我在 views 目录的 list.ejs 文件中使用的 ejs 元素。

for app.get() 你写的方法 app.get('/', function(res, req) { code ... 还有 res.render("list.ejs", {kindOfDay:day }); 虽然我们可以提供我们选择的任何参数,就像您在回调函数中编写的 (res,req) 作为参数一样,但实际上您也必须编写 req.render(...) 。或者您可以为了约定将参数更改为 (request, response)(req, res) 然后就可以了。

也许这只是一个打字错误.. 有关详细信息,请查看快递 documentation