본문으로 바로가기

express-flash 사용

category Node, Nest, Deno/🚀 Node.js (+ Express) 2020. 6. 22. 08:07

https://www.npmjs.com/package/express-flash

 

express-flash

Flash Messages for your Express Application

www.npmjs.com

 

React를 쓰게 되면서 flash는 별로 의미가 없어졌습니다.

 

매번 새롭게 렌더링하게 만들면 되거든요. 회원가입 폼에서 비밀번호와 비밀번호 확인이 일치 하지 않으면 오류 state를 만들어서 띄우면 그만입니다.

 

 

 

npm i express-flash
// import
import flash from "express-flash";

// middleware 
app.use(flash());

 

req.flash(타입, 메세지) 타입은 지정되어 있는게 아니라 마음대로 써도 됩니다만

어느 정도 구분할 수 있는 걸로 지어주어야 좋습니다.

req.flash("error", "Password don't match");

 

messages 라는 전역 변수가 생깁니다. pug에서는 이렇게 활용했습니다.

if messages.error
    span=messages.error

 

 

passport.js는 authenticate 후속 처리 옵션으로 successFlash와 failureFlash를 제공합니다. 자동으로 flash의 타입은 successerror가 됩니다.

export const postLogin = passport.authenticate("local", {
  successRedirect: routes.home,
  failureRedirect: routes.login,
  successFlash: "Welcome!",
  failureFlash: "Can't log in. Check email and/or password",
});

 

pug라면 이렇게 활용하면 되겠죠

if messages.error
    span=messages.error
else if messages.success
  span=messages.success

 

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체