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

Untitled

</aside>

board.ejs

board.ejs

board_write.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;
    }
  }
});

글 수정하기

글 수정하기