原文地址:https://github.com/jaredhanson/connect-flash
connect-flash:
flash是session中用来存储信息的特殊区域。被写入flash的信息在展示给用户之后删除。flash经常和页面跳转联合使用,确保在页面跳转后在新页面中能够将信息展示给用户。flash中间件从Express 2.X提取出来,并且,Express 3.X版本移除了对flash的直接支持。像其他可以和Express 3.X兼容的中间件或者应用一样,connect-flash可以和Express 3.X兼容,从而具有了彻底的可重复使用性。
安装:
命令行输入:npm install connect-flash
使用说明:
需要flash给用户的信息储存在session中。因此,首先需要使用bodyParser中间件和session中间件设置session。然后,使用connect-flash中间件提供的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()); });
flash中间件在上层,因此所有的请求都会触发req.flash()函数。
示例:app.get('/flash', function(req, res){ // 通过to req.flash()传递一对键值设置. req.flash('info', 'Flash is back!') res.redirect('/'); }); app.get('/', function(req, res){ //把键传递给req.flash()获取需要flash的信息 res.render('index', { messages: req.flash('info') }); });
在Express3.X框架中使用connect-flash中间件,请查看express3获取更多示例。
译者注:
在最新的express版本中取消了express.bodyParser和express.session,因此需要另外下载包。
新建package.json文件,代码:
</pre><p><span style="font-size:14px;"></span></p><p><span style="font-size:14px;">新建app.js,代码:</span></p><p><span style="font-size:14px;"></span><pre name="code" class="javascript">
新建views文件夹,在下面建立index.ejs,代码如下:
之后node app 启动项目,通过浏览器访问 localhost:3000即可。