Javascript TypeError:req.flash不是一个函数(NodeJs)

Javascript TypeError:req.flash不是一个函数(NodeJs),javascript,node.js,express,npm,Javascript,Node.js,Express,Npm,在站点中进行注册。对于注册表表单,使用mongoose模型进行验证,并尝试使用Flash在表单中显示错误消息 但是struct在这个错误上失败了 类型错误:res.flash不是一个函数 at/home/work/first node app/firstnode/routes/index.js:35:11 下面是我的代码片段 App.js Index.js 任何人都可以指出这段代码中的错误,因为我是Nodejs新手,正在尝试进行表单验证验证工作正常,控制台显示错误,但我无法使用flash通过验证

在站点中进行注册。对于注册表表单,使用mongoose模型进行验证,并尝试使用Flash在表单中显示错误消息

但是struct在这个错误上失败了

类型错误:res.flash不是一个函数 at/home/work/first node app/firstnode/routes/index.js:35:11

下面是我的代码片段

App.js

Index.js


任何人都可以指出这段代码中的错误,因为我是Nodejs新手,正在尝试进行表单验证验证工作正常,控制台显示错误,但我无法使用flash通过验证。有人能帮我吗?如果您确认我的代码Nodejs方法是正确的,我将不胜感激

使用req.flash()代替res.flash。请参阅更多说明。

您是否安装了所需的软件包是的,我确实安装了
connect flash
flash
req flash
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var mongoose = require('mongoose');
var passport = require('passport');
var session = require('express-session');
var flash        = require('connect-flash');

var indexRouter = require('./routes/index');
var commonKeys = require('./config/config');


var app = express();

//connect mongoDb 
mongoose.connect('mongodb://localhost:27017/db', { useNewUrlParser: true });

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

// required for passport session
app.use(session({
  secret: 'secrettexthere',
  saveUninitialized: true,
  resave: true,
  // using store session on MongoDB using express-session + connect  
}));
app.use(flash());
app.use(passport.initialize());
app.use(passport.session());


app.use('/', indexRouter);

module.exports = app;
var express = require('express');
var router = express.Router();
var passport = require('passport');
var User = require('../models/user-model');
var Local = require('../config/passport-local');

router.get('/register', function(req, res){
  res.render('public/register',{title:'Register'});
});


router.post('/register', function(req,res,next){
  User.create({name:req.body.name, password:req.body.password, email : req.body.email}, function(err, user){
    if (err) {      
      console.log('Error Inserting New Data');

      if (err.name == 'ValidationError') {
          for (field in err.errors) {
            res.flash(field, err.errors[field].message); 
          }
          res.render('public/register');
      }
    }
    if(user) {
      res.send('user registered');
    }    
  })    
});

module.exports = router;