Nodejs中connect-flash模块的调用

connect-flash模块的使用

connect-flash简介

connect-flash是nodejs中的一个模块,flash是一个暂存器,而且暂存器里面的值使用过一次便被清空,适合用来做网站的提示信息。

connect-flash如何安装

$ npm install --save connect-flash

connect-flash如何使用

在index.js中引入

flash = require('connect-flash');

在app中使用中间件

app.use(flash());

将flash中存入的变量存入res.locals变量中,假如我要在网站中使用flash中存的error和success变量,加可以把它们传入locals变量中,这样所有的模板都可以拿到这个变量。

app.use(function(req,res,next){
    res.locals.user=req.session.user;
    res.locals.success=req.flash('success').toString();
    res.locals.error=req.flash('error').toString();
    next();
});

在页面中假如根据success和error是否存在给用户相应的提示:

<% if (success) { %>

<%= success %>

<% } %> <% if (error) { %>

<%= error %>

<% } %>

在页面跳转之前给success和error赋值,就可以让它们获得相应的变量,显示给用户后,这些变量会被清空,例如检测用户是否登录:

module.exports={
    checkLogin:function checkLogin(req,res,next){
        if(!req.session.user){
            req.flash('error','未登录');
            return res.redirect('/signin');
        }
        next();
    },
    checkNotLogin:function checkNotLogin(req,res,next){
        if(req.session.user){
            req.flash('error','已登录');
            return res.redirect('back');//返回之前的页面
        }
        next();
    }
}

你可能感兴趣的:(Nodejs中connect-flash模块的调用)