我正在读一本关于 node.js、express 和 mongodb 的书。作者使用connect-flash。但是,我似乎无法让它正常工作。使用 connect-flash 的文件夹如下所示,已删除不相关的代码。index.jsconst flash = require('connect-flash');app.use(flash());const newUserController = require('./controllers/newUser')const storeUserController = require('./controllers/storeUser') app.get('/auth/register', redirectIfAuthenticatedMiddleware, newUserController)app.post('/users/register', redirectIfAuthenticatedMiddleware, storeUserController)控制器/storeUser.jsconst User = require('../models/User.js')const path = require('path')module.exports = (req,res)=>{ User.create(req.body, (error, user) => { if(error){ const validationErrors = Object.keys(error.errors).map(key => error.errors[key].message) // req.session.validationErrors = validationErrors req.flash('validationErrors',validationErrors) return res.redirect('/auth/register'); } res.redirect('/') })}控制器/newUser.js:module.exports = (req, res) =>{ res.render('register',{ errors: flash('validationErrors') })}错误ReferenceError:未定义闪存。此错误发生在 controllers\newUser.js:3:17)我已多次重读该章并寻找没有运气的解决方案。我不明白为什么它在 index.js 中声明时未定义。为什么 flash 未定义?我该如何解决?
1 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
module.exports = (req, res) =>{
res.render('register',{
errors: req.flash('validationErrors')
})
}
你可能会错过从 req.call 调用它。
添加回答
举报
0/150
提交
取消