为什么我得到'res.render()不是函数'

Mat*_*ini 1 javascript node.js express

我正在尝试创建一个路由,但我收到此错误.

res.send不是一个函数

而我在index.js文件中的代码是这样的

var express = require('express');
var router = express.Router();

router.get('/', function(res, req, next){
 res.render('index');
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

并在app.js文件中就是这样

var index = require('./routes/index.js');
...
...
...
app.get('/', index);
Run Code Online (Sandbox Code Playgroud)

谢谢你,已经.

Aar*_*ron 9

它看起来像你交换req,并res在你的router.get回调.因此,您所命名req的实际上是res,反之亦然,并且req.render不存在.

尝试改变:

router.get('/', function(res, req, next){
Run Code Online (Sandbox Code Playgroud)

至:

router.get('/', function(req, res, next){
Run Code Online (Sandbox Code Playgroud)

  • 我犯了和你提到的一样的错误,并在这里得到了解决方案;谢谢 (2认同)