express-generator 대신 직접 구조를 갖춤
프런트엔드 코드보다 노드 라우터 중심으로 볼 것
관계형 데이터베이스 MySQL 선택

노드 프로젝트의 기본


app.js와 .env 파일도 생성

nodemon은 서버 코드가 변경되었을 때 자동으로 서버를 재시작해줌
nodemon은 콘솔 명령어이기 때문에 글로벌로 설치

노드 서버의 핵심인 app.js 파일 작성
소스 코드는 https://github.com/zerocho/nodejs-book
.env도 같이 추가

https://github.com/ZeroCho/nodejs-book/tree/master/ch9/9.1/nodebird
routes/page.js: 템플릿 엔진을 렌더링하는 라우터
controllers/page.js: page.js에 해당하는 컨트롤러
views/layout.html: 프론트 엔드 화면 레이아웃(로그인/유저 정보 화면)
views/main.html: 메인 화면(게시글들이 보임)
views/profile.html: 프로필 화면(팔로잉 관계가 보임)
views/error.html: 에러 발생 시 에러가 표시될 화면
public/main.css: 화면 CSS

컨트롤러는 라우터의 마지막에 위치하는 미들웨어로 응답을 보내는 역할
컨트롤러를 분리하면 좋은 점이 많음.
