An easy flash message middleware for Express.js 4.x
$ npm install ez-flash
see example folder for a complete example with express.js
example/index.js
var express = require('express');
var bodyParser = require('body-parser');
var session = require('express-session');
var flash = require('ez-flash');
var app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(session({ secret: 'my secret', resave: false, saveUninitialized: true }));
app.use(flash.middleware);
example/index.js
app.post('/singleMsg', function (req, res) {
flash.flash('message', req.body.message);
res.redirect('/');
});
example/index.js
app.get('/', function (req, res) {
flash.reFlashAll();
res.redirect('/singleMsg');
});
example/view/includes/flash.pug
each content, type in flash
h2 flash message: #{content}
example/index.js
app.post('/multipleMsg', function (req, res) {
var msgTypes = ['success', 'info', 'warning', 'danger'];
for (var i = 0; i < msgTypes.length; ++i) {
if (req.body[msgTypes[i]]) {
flash.flash(msgTypes[i], req.body[msgTypes[i]]);
}
}
res.redirect('/multipleMsg');
})
example/flash.pug
each content, type in flash
if type === 'success' || type === 'info' || type === 'warning' || type === 'danger'
div(class="alert alert-" + type)= content
Init session.flash
if needed, then save the flash message to it.
Move the flash message from locals to session so we can access the flash message in the view with flash
object.
Copy the flash message from locals to session, making the flash message available for the next response.
The message in locals will be deleted (not shown this time) if cleaUp = true
.
$ tsc
$ tsc test/test.ts
$ npm test
Laravel flash data for the desired function and syntax.
tsmean for how to write the package.
express/flash for how to write the test code.