https://www.npmjs.com/package/express-flash
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 |