routes/ page.js
router.get('/profile', (req, res) => {
res.render('profile', { title: '내 정보 - NodeBird' });
});
router.get('/join', (req, res) => {
res.render('join', { title: '회원가입 - NodeBird' });
});
router.get('/', (req, res, next) => {
const twits = [];//메인게시물들
res.render('main', {
title: 'NodeBird',
twits,
})
})
에서는 return 문을 쓰지 않는데
routes/auth.js 와 같이
outer.post('/join', async (req, res, next) => {
const { email, nick, password } = req.body;
try{
const exUser = await User.findOne({ where: {email} });
if (exUser){
return res.redirect('/join?error=exist'); //front에서 query보고 처리
}
const hash = await bcrypt.hash(password, 12);
await User.create({
email,
nick,
password: hash,
});
return res.redirect('/');
} catch(error){
console.error(error);
return next(error);
}
});
return 으로 next(error)나 res.render 등등 을 해주는 이유가 뭔가요?