<aside> 💡 board.js 기본 기능 정의

</aside>

board.ejs

board_write.ejs
const ARTICLE = [
{
title: '게시판 만들기',
content: '안녕하세요',
},
{
title: '게시판 만들기2',
content: '안녕하세요 저는 민정이예요',
},
];
// 글 전체 목록이 보이는 페이지
router.get('/', (req, res) => {
const articleCounts = ARTICLE.length;
res.render('board', { ARTICLE, articleCounts });
});

글 목록보기
// 글 쓰기 모드로 이동
router.get('/write', (req, res) => {
res.render('board_write');
});

글 쓰기
// 글 추가하기
router.post('/write', (req, res) => {
if (req.body.title && req.body.content) {
const newArticle = {
title: req.body.title,
content: req.body.content,
};
ARTICLE.push(newArticle);
res.redirect('/board');
} else {
const err = new Error('폼 입력을 확인하세요.');
err.statusCode = 400;
throw err;
}
});

글 추가완료
// 글 수정 모드로 이동
router.get('/modify/:tite', (req, res) => {
const arrIndex = ARTICLE.findIndex(
(article) => article.title === req.params.title
);
const selectedArticle = ARTICLE[arrIndex];
res.render('board_modify', { selectedArticle });
});

수정하는 곳 들어가기
// 글 수정하기
router.post('/modify/:title', (req, res) => {
if (req.body.title && req.body.content) {
const arrIndex = ARTICLE.findIndex(
(article) => article.title === req.params.title
);
if (arrIndex !== -1) {
ARTICLE[arrIndex].title = req.body.title;
ARTICLE[arrIndex].content = req.body.content;
res.redirect('/board');
} else {
const err = new Error('해당 제목의 글이 없습니다.');
err.statusCode = 404;
throw err;
}
}
});

글 수정하기