Javascript TypeError:req.flash不是一个函数(NodeJs)
在站点中进行注册。对于注册表表单,使用mongoose模型进行验证,并尝试使用Flash在表单中显示错误消息 但是struct在这个错误上失败了 类型错误:res.flash不是一个函数 at/home/work/first node app/firstnode/routes/index.js:35:11 下面是我的代码片段 App.js Index.jsJavascript 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通过验证
任何人都可以指出这段代码中的错误,因为我是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;