74 lines
2.2 KiB
Markdown
74 lines
2.2 KiB
Markdown
# 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](http://expressjs.com/) 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](http://substack.net/posts/b96642/the-node-js-aesthetic).
|
|
|
|
## 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.
|
|
|
|
```javascript
|
|
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.
|
|
|
|
```javascript
|
|
app.get('/flash', function(req, res){
|
|
// Set a flash message by passing the key, followed by the value, to req.flash().
|
|
req.flash('info', 'Flash is back!')
|
|
res.redirect('/');
|
|
});
|
|
|
|
app.get('/', function(req, res){
|
|
// Get an array of flash messages by passing the key to req.flash()
|
|
res.render('index', { messages: req.flash('info') });
|
|
});
|
|
```
|
|
|
|
## Examples
|
|
|
|
For an example using connect-flash in an Express 3.x app, refer to the [express3](https://github.com/jaredhanson/connect-flash/tree/master/examples/express3)
|
|
example.
|
|
|
|
## Tests
|
|
|
|
$ npm install --dev
|
|
$ make test
|
|
|
|
[![Build Status](https://secure.travis-ci.org/jaredhanson/connect-flash.png)](http://travis-ci.org/jaredhanson/connect-flash)
|
|
|
|
## Credits
|
|
|
|
- [Jared Hanson](http://github.com/jaredhanson)
|
|
- [TJ Holowaychuk](https://github.com/visionmedia)
|
|
|
|
## License
|
|
|
|
[The MIT License](http://opensource.org/licenses/MIT)
|
|
|
|
Copyright (c) 2012-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>
|