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是否存在给用户相应的提示:

<div class="ui grid">
  <div class="four wide column"></div>
  <div class="eight wide column">

  <% if (success) { %>
    <div class="ui success message">
      <p><%= success %></p>
    </div>
  <% } %>

  <% if (error) { %>
    <div class="ui error message">
      <p><%= error %></p>
    </div>
  <% } %>

  </div>
</div>

在页面跳转之前给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();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 中间件: connect-flash地址:https://github.com/jaredhanson/conne...
    Devid阅读 2,971评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,242评论 6 13
  • Twitch 商城网站 介绍: 1、Node.js搭建的网站,采用Mongodb数据库2、后台框架 借用了 exp...
    Junting阅读 957评论 0 0
  • 最后发布时间:2017年8月11日 有关归档Adobe Flash Player版本的信息,以及下载旧版本的链接。...
    张松贵阅读 2,210评论 0 2