Node.js:TypeError:Router.use()需要中间件功能,但有一个对象

时间:2019-09-02 09:49:01

标签: javascript node.js node-modules

我试图获取索引页面,但显示错误:TypeError:Router.use()需要中间件功能,但得到了Object,结构:views> Attendance> index.ejs我该如何解决此错误,

控制器:

   in controller I write this path:
   router.get('/attendance', (req, res) => res.render('attendance/index'));

app.js

  require('./models/Attendance');

  const attendanceController = require('./controllers/attendanceController');

  app.use('/attendance', attendanceController);

1 个答案:

答案 0 :(得分:0)

我无法想象的唯一原因是不正确的进出口。

您需要将这样的路由器导出到控制器文件中:

module.exports = router;

此外,通过执行router.get('/attendance'...并将其应用app.use('/attendance',,应用程序将侦听定向到/ attendance / attendance端点的请求。我将控制器更改为:

router.get('/', (req, res) => res.render('attendance/index'));

请参阅以下内容以供参考:How to write clean, modular express.js applications