Express.js 中使用 Connect-flash 实现提示消息

在 Express.js 中,我们经常需要在用户操作后给出一些提示信息,例如登录成功、注册失败等等。而 Connect-flash 是一个 Express.js 中非常实用的中间件,它可以方便地在重定向后将消息传递给下一个请求,从而实现提示消息的功能。

安装 Connect-flash

在使用 Connect-flash 之前,我们需要先安装它。可以使用 npm 命令进行安装:

--- ------- -------------

使用 Connect-flash

安装完成后,我们需要在 Express.js 应用中引入 Connect-flash 中间件,并配置它的使用。以下是一个简单的示例:

----- ------- - -------------------
----- ----- - -------------------------
----- ------- - ---------------------------

----- --- - ----------

-----------------
  ------- ----------------
  ------- ------
  ------------------ -----
----

-----------------

----------------- ----- ---- -- -
  -- ---------
  -- ------------- ----- -
  -------------------- --------
  ------------------
---

------------ ----- ---- -- -
  -- - ----- --------
  ----- ---------- - ---------------------
  ---------------------------------
---

---------------- -- -- -
  ----------------------
---

在上面的示例中,我们首先引入了 Connect-flash、express-session 和 Express.js 模块。在使用 Connect-flash 之前,我们需要先引入 express-session,因为 Connect-flash 是基于 session 实现的。

然后,我们使用 app.use() 方法将 flash 中间件添加到 Express.js 应用中。在登录操作中,我们使用 req.flash() 方法将消息存储到 flash 中。在首页中,我们使用 req.flash() 方法从 flash 中获取消息并显示。

实现多种消息提示

Connect-flash 支持多种消息类型,例如 success、error、warning 等等。我们可以根据实际需求选择使用不同的消息类型。以下是一个实现多种消息提示的示例:

----------------- ----- ---- -- -
  -- ---------
  -- ------------- ----- -
  -------------------- --------
  -- ------------- ----- -
  ------------------ ----------------------
  ------------------
---

------------ ----- ---- -- -
  -- - ----- -------------
  ----- ---------- - ---------------------
  ----- -------- - -------------------
  ----- ---------- - ---------------------
  ----------
    --------------------
    ------------------
    --------------------
  ---
---

在上面的示例中,我们在登录成功和失败的情况下分别存储了 success 和 error 类型的消息。在首页中,我们使用 req.flash() 方法分别从 flash 中获取不同类型的消息,并将它们显示在页面上。

总结

Connect-flash 是一个非常实用的 Express.js 中间件,它可以方便地实现提示消息的功能。在实际开发中,我们可以根据实际需求选择使用不同类型的消息,并使用 req.flash() 方法将消息存储到 flash 中,然后使用 req.flash() 方法从 flash 中获取消息并显示。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6615e15ad10417a2225c3228