What is connect-flash?
The connect-flash npm package is used to create flash messages in web applications. Flash messages are temporary messages that are stored in the session and can be displayed to the user on the next request. This is particularly useful for displaying success, error, or informational messages after a form submission or other user actions.
What are connect-flash's main functionalities?
Setting Flash Messages
This feature allows you to set flash messages in your application. In this example, a flash message with the type 'info' and the message 'Flash Message Added' is set and the user is redirected to the home page.
app.get('/set-flash', function(req, res){
req.flash('info', 'Flash Message Added');
res.redirect('/');
});
Displaying Flash Messages
This feature allows you to display flash messages to the user. In this example, the flash messages of type 'info' are retrieved and passed to the view template to be displayed.
app.get('/', function(req, res){
res.render('index', { messages: req.flash('info') });
});
Other packages similar to connect-flash
express-flash
The express-flash package is similar to connect-flash but is specifically designed to work with Express 4.x. It provides a simple way to flash messages to the session and display them to the user. It is a wrapper around connect-flash with additional middleware to make it compatible with Express 4.x.
express-session
The express-session package is a general-purpose session middleware for Express. While it does not provide flash message functionality out of the box, it can be used in conjunction with other packages like connect-flash or express-flash to store flash messages in the session.
flash
The flash package is a simple flash message middleware for Express. It is similar to connect-flash but is designed to be more lightweight and straightforward. It provides basic functionality for setting and displaying flash messages.
connect-flash
The flash is a special area of the session used for storing messages. Messages
are written to the flash and cleared after being displayed to the user. The
flash is typically used in combination with redirects, ensuring that the message
is available to the next page that is to be rendered.
This middleware was extracted from Express 2.x, after
Express 3.x removed direct support for the flash. connect-flash brings this
functionality back to Express 3.x, as well as any other middleware-compatible
framework or application. +1 for radical reusability.
Install
$ npm install connect-flash
Usage
Express 3.x
Flash messages are stored in the session. First, setup sessions as usual by
enabling cookieParser
and session
middleware. Then, use flash
middleware
provided by connect-flash.
var flash = require('connect-flash');
var app = express();
app.configure(function() {
app.use(express.cookieParser('keyboard cat'));
app.use(express.session({ cookie: { maxAge: 60000 }}));
app.use(flash());
});
With the flash
middleware in place, all requests will have a req.flash()
function
that can be used for flash messages.
app.get('/flash', function(req, res){
req.flash('info', 'Flash is back!')
res.redirect('/');
});
app.get('/', function(req, res){
res.render('index', { messages: req.flash('info') });
});
Examples
For an example using connect-flash in an Express 3.x app, refer to the express3
example.
Tests
$ npm install --dev
$ make test
Credits
License
The MIT License
Copyright (c) 2012-2013 Jared Hanson <http://jaredhanson.net/>