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의 타입은 success와 error가 됩니다.
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
'Node, Nest, Deno > 🚀 Node.js (+ Express)' 카테고리의 다른 글
chained route handlers (0) | 2020.07.02 |
---|---|
sharp를 활용한 image resizing + buffer 이해하기 (0) | 2020.06.29 |
res.locals 활용하여 전역에서 사용 가능한 변수 만들기 (0) | 2020.06.17 |
정적 html을 view로 사용하기 + nodemon.json 설정 (0) | 2020.05.26 |
express에서 CORS 해결 : cors 모듈 / React Proxy 설정 (0) | 2020.05.01 |