Enviado em 24/01/2020 - 15:28h
Oi! No módulo connec-flash, tenho um erro que não consigo identificar. Eu o revisei o código umas mil vezes. Não consigo prosseguir com meu projeto por causa disso. Modifiquei o escopo tentando identificar o erro, mas ele continua. Estou seguindo os passos de um livro e o problema parece não ser no código mas outro lugar.ReferenceError: flash is not defined at module.exports (/controllers/newUser.js:3:9) at Layer.handle [as handle_request] (/node_modules/express/lib/router/layer.js:95:5) at next (/node_modules/express/lib/router/route.js:137:13) at module.exports (/middleware/redirectAuhenticationMiddleware.js:6:5) at Layer.handle [as handle_request] (/node_modules/express/lib/router/layer.js:95:5) at next (/node_modules/express/lib/router/route.js:137:13) at Route.dispatch (/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/node_modules/express/lib/router/layer.js:95:5) at /node_modules/express/lib/router/index.js:281:22 at Function.process_params (/node_modules/express/lib/router/index.js:335:12) at next (/node_modules/express/lib/router/index.js:275:10) at /node_modules/connect-flash/lib/flash.js:21:5 at Layer.handle [as handle_request] (/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/node_modules/express/lib/router/index.js:317:13) at /node_modules/express/lib/router/index.js:284:7 at Function.process_params (/node_modules/express/lib/router/index.js:335:12)
const express = require('express') const path = require('path') const ejs = require('ejs') const mongoose = require('mongoose') const bodyParser = require('body-parser') const fileUpload = require('express-fileupload') const BlogPost = require('./models/BlogPost') const expressSession = require('express-session') const flash = require('connect-flash')
module.exports = (req, res) => { res.render('register', {errors:flash('validationErrors')})
const User = require('../models/User') 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.flash('validationErrors', validationErrors) //req.session.validationErrors = validationErrors return res.redirect('/auth/register') } res.redirect('/') }) }
Enviado em 24/01/2020 - 18:10h
também configurei para ele ser usado globalmente:const express = require('express') const path = require('path') const ejs = require('ejs') const mongoose = require('mongoose') const bodyParser = require('body-parser') const fileUpload = require('express-fileupload') const BlogPost = require('./models/BlogPost') const expressSession = require('express-session') const flash = require('connect-flash') //middlewares const homeController = require('./controllers/home') const newPostController = require('./controllers/newpost') const aboutController = require('./controllers/about') const contactController = require('./controllers/contact') const blogController = require('./controllers/blog') const getPostsController = require('./controllers/getpost') const storePostsController = require('./controllers/store') const newUserController = require('./controllers/newUser') const storeUserController = require('./controllers/storeUser') const loginController = require('./controllers/login') const loginUserController = require('./controllers/loginUser') const authMiddleware = require('./middleware/authMiddleware') const redirectAuthenticationMiddleware = require('./middleware/redirectAuhenticationMiddleware') const logoutController = require('./controllers/logout') const app = new express() mongoose.connect('mongodb://localhost/my_database', {useNewUrlParser:true}) // configurações app.set('view engine', 'ejs') app.use(express.static('public')) app.use(bodyParser.json()) app.use(bodyParser.urlencoded({extended:true})) app.use(fileUpload()) app.use(expressSession({ secret:'keyboard cat', saveUninitialized: true, cookie: { secure: true }, resave: true, })) global.loggedIn = null app.use("*", (req, res, next) =>{ loggedIn = req.session.userId next() }) app.use(flash()); // rotas app.get('/', homeController) app.get('/blog', blogController) app.get('/post/:id', getPostsController) app.get('/about/', aboutController) app.get('/contact', contactController) app.get('/posts/new/', authMiddleware, newPostController) app.get ('/auth/register', redirectAuthenticationMiddleware, newUserController) app.get('/auth/login', redirectAuthenticationMiddleware, loginController) app.get('/auth/logout', logoutController) app.post('/posts/store', authMiddleware, storePostsController) app.post('/users/register', redirectAuthenticationMiddleware, storeUserController) app.post('/users/login', redirectAuthenticationMiddleware, loginUserController) app.use((req,res) => res.render('notfound')) app.listen(4000, ()=>{ console.log(`servidor rodando na porta 4000`) } )
Pra quem contribui com artigos e dicas (0)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Alguém poderia me ajudar a escolher peças pra montar um desktop? (19)
Pra quem contribui com artigos e dicas (0)