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
我正在阅读有关模板的教程。我只是按照 "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