Nodebird 백엔드 노드 서버 구축하기
4-1. 노드로 서버 구동하기
app.js 추가- npm init
- node app.js
node
- 자바스크립트 코드를 실행할 수 있게 해주는 프로그램
- 서버가 아님
res.end는 마지막에 한 번만 사용.
createServer()가 요청을 받는 메서드임
4-2. 익스프레스로 라우팅하기
- npm i express
app.js 수정- node app
get 가져오다
post 생성하다
put 전체 수정
delete 제거
patch 부분 수정
options 찔러보기
head 헤더만 가져오기
4-3. 익스프레스 라우터 분리하기
routes/post.js 수정app.js 수정
4-4. MySQL과 시퀄라이즈 연결하기
4-5. 시퀄라이즈 모델 만들기
4-6. 시퀄라이즈 관계 설정하기
4-7. 시퀄라이즈 sync+nodemon
4-8. 회원가입 구현하기
front
sagas/user.js 수정
back
app.js 수정routes/user.js 수정- npm i bcrypt : 암호화
signup.js > sagas/user.js
json은 json, 나머지는 폼
4-9. CORS 문제 해결하기
routes/user.js 수정- npm i cors
app.js 수정
front
pages/signup.js 수정
ERR_CONNECTION_REFUSED : 서버가 꺼져있다는 에러
브라우저에서 백엔드 서버로 요청 보낼 때 cors 에러 ? 프론트 서버가 proxy 역할을 함?
cors의 origin: true로 설정해두면 * 대신 보낸 곳의 주소가 자동으로 들어가 편리함
cors 처리하면 개발자도구에서 Response Headers의 Access-Control-Allow-Origin:*을 확인할 수 있음
4-10. 패스포트로 로그인하기
routes/user.js 수정- npm i passport
passport/index.js 추가passport/local.js 추가app.js 수정
front
sagas/user.js 수정sagas/index.js 수정→ 백엔드 & 프론트 통신
미들웨어를 확장하는 방법이라. ... routes/user.js에서...
4-11. 쿠키/세션과 전체 로그인 흐름
routes/user.js 수정app.js 수정- npm i express-session
- npm i cookie-parser
passport/index.js 수정- npm i dotenv
.env 추가config.js 수정/config
front
reducers/user.js 수정
세션용 db 저장을 redis로 함
.env는 git에 올리면 안됨
4-12. 로그인 문제 해결하기
routes/user.js 수정
front
components/LoginForm.js 수정pages/signup.js 수정sagas/user.js 수정
4-13. 미들웨어로 라우터 검사하기
routes/middlewares.js 추가routes/user.js 수정app.js 수정
4-14. 게시글, 댓글 작성하기
routes/post.js 수정
front
sagas/posts.js 수정reducers/posts.js 수정
4-15. credentials로 쿠키 공유하기
app.js 수정routes/post.js 수정
front
sagas/post.js 수정sagas/index.js 수정
4-16. 내 로그인 정보 매번 불러오기
routes/user.js 수정
Front
pages/index.js 수정reducers/user.js 수정sagas/user.js 수정
4-17. 게시글 불러오기
4-18. 게시글 좋아요
4-19. 게시글 제거 / 닉네임 변경
4-20. 팔로우 / 언팔로우
4-21. 이미지 업로드를 위한 multer
4-22. express.static 미들웨어
4-23. 해시태그 등록하기
4-24. 리트윗하기
4-25. 쿼리스트링과 lastId 방식