Router.use() 需要中间件功能,但在 Function.use 处获得了一个对象

Router.use() requires middleware function but got a Object at Function.use

contact.js 的代码:

var express = require('express');
var router = express.Router();
var nodemailer= require('nodemailer');
var dateFormat = require('dateformat');
var now = new Date();

    // Basic usage
    dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('contact', { title: 'Contact' });
});


  router.post('/send', function(req, res, next) {
          verifyRecaptcha(req.body["g-recaptcha-response"], function(success) {
                  if (success) {
                          res.end("Success!");
                          // TODO: do registration using params in req.body
                          var transporter = nodemailer.createTransport({
                            service: 'Gmail',
                            auth: {
                              user : 'email@gmail.com',
                              pass : 'pass'
                            }
                          });
                          var mailOptions = {
                          from: 'Thiyagaraj <email@gmail.com>',
                          to : 'email@gmail.com',
                          subject : now +req.body.from ,
                          text : 'Order placed '

                          };
                          transporter.sendMail(mailOptions, function(error, info){
                            if(error){
                              console.log(error);
                              res.redirect('/');
                            }else{
                              console.log('message sent');
                              res.redirect('/');
                            }
                          });
                  } else {
                          res.end("Captcha failed, sorry.");
                          // TODO: take them back to the previous page
                          res.render('about', { title: 'About' });
                  }
          });
  });

/*
});

module.exports = router;
*/

这是为了重新验证... 是否需要任何特殊依赖? 或者是代码有错误 ................................................... ...................................

提前致谢:)

路由器的最后一行需要取消注释。

module.exports = router;

这是向您的应用公开路由器的代码。我猜你在某处需要这个文件并将其传递给 app.use,但是这个文件没有导出任何东西(因为它被注释掉了)所以 app.use 需要一个函数但变得不确定。