req.fla sh () требует сеанса - PullRequest
0 голосов
/ 15 апреля 2020

У меня проблема с маршрутом (регистрация):

TypeError: req.flash is not a function
    at /Users/laurent/Projects/perso/express-live-stream/server/routes/register.js:11:32

Настройка в приложении. js

const Session = require('express-session');
const flash = require('connect-flash');

app.use(require('cookie-parser')());
app.use(Session({
    store: new FileStore({
        path : './server/sessions'
    }),
    secret: config.server.secret,
    cookie: {maxAge: Date().now + (60 * 1000 * 30) } ,
    resave: false, 
    saveUninitialized: false
}));

app.use(flash());

Маршрутизатор (маршруты / регистрация. js)

const express = require('express'),
    router = express.Router(),
    passport = require('passport');

router.get('/',
    require('connect-ensure-login').ensureLoggedOut(),
    (req, res) => {
        res.render('register', {
            user : null,
            errors : {
                username : req.flash('username'), <== problem here (line 11)
                email : req.flash('email')
            }
        });
    });

Кажется, мои настройки в порядке, поскольку сообщения fla sh хранятся в сеансах. Я проверял ранее в Google, но ничего не нашел

Спасибо

Laurent

1 Ответ

0 голосов
/ 17 апреля 2020

Исправлена ​​проблема с неправильным порядком. Я должен объявить маршрутизатор раньше, чем fla sh

...