FE RYAN
완벽하지 않으면 어때
FE RYAN
전체 방문자
오늘
어제

블로그 메뉴

  • 💾 깃허브 링크
  • 홈
  • 태그
  • 분류 전체보기 (151)
    • 개인프로젝트 (8)
      • 개인 포트폴리오 웹앱 (6)
      • 프론트엔드 기술면접 아카이빙 웹앱 (2)
    • 기록 (121)
      • 원티드 프리온보딩 인턴십 (0)
      • 코드스테이츠 프론트엔드 (75)
      • 생각들 (3)
      • Today I learned (32)
      • 회고 (9)
      • 리뷰 (1)
    • 개발 (17)
      • React (3)
      • Javascript (7)
      • CSS (1)
      • HTML (3)
      • HTTP (1)
      • 자료구조 (0)
      • 알고리즘 (2)
    • 코딩테스트 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • 디자인 (1)
      • UI & UX (1)
    • 수학 (0)
    • 자기계발 (0)

공지사항

인기 글

태그

  • 부트캠프
  • Til
  • 코드스테이츠
  • 포트폴리오
  • 원시타입
  • 프론트엔드
  • seb 39
  • 타입스크립트
  • 자바스크립트 딥다이브
  • 자바스크립트
  • 신입개발자
  • HTML
  • seb39
  • 리액트
  • 딥다이브
  • 회고
  • ES6
  • 메인프로젝트
  • useMemo
  • css

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
FE RYAN

완벽하지 않으면 어때

기록/코드스테이츠 프론트엔드

11주차 토요일

2022. 7. 9. 21:30
728x90

11주차 토요일

1. 배운 것

  • mern스택 crud 연습

2. 내용 정리

[Express] res.sendFile

서버에서 응답으로 보내 줄 index.html 파일은 client에서 npm run build 하여 build 폴더에 압축된 index.html 파일을 보내주어야 한다.

// client
npm run build

  1. 클라이언트: 리액트 앱 빌드하기
  2. 서버: path모듈 설치
  3. 서버: static 폴더 사용하기 (app.use)
  4. path모듈 사용하면서 join메서드로 sendFile 경로지정.
// server > server.js
// npm i path

const express = require('express');
const path = require('path');
const app = express();
const port = 3001;

app.use(express.static(path.join(__dirname, '../client/build')));

app.listen(port, () => {
  console.log('listening on port 3001');
});

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, '../client/build/index.html'));
});
  • build 폴더 안의 요소들을 다 static으로 쓰기 위해서 app.use 경로는 build 폴더로.

MongoDB + Mongoose

entry 설정 모든 아이피에서 접속할 수 있도록 하려면 ip 주소를 0.0.0.0/0 으로 entry 추가.

mongodb 연결시 connect하는 주소에 내 아이디와 비번, 클러스터명이 주소에 포함되는데, 이 비밀번호를 깃허브에 그대로 올리면 당연히 안되기 때문에 config 폴더 하나 만들고 개발환경과 배포환경을 분리해서 환경변수 설정을 해주고 내 비밀번호가 들어가있는 파일을 gitignore에 추가시키면 된다.

참고: https://velog.io/@chy0428/Node-JS-비밀-설정-정보-관리

axios & cors

이번엔 axios로 api를 짜봤다.

클라이언트는 3000번 포트, 서버는 3001번 포트로 동작중이라 cors 이슈가 발생하므로 해결해야 한다.

내일 여기 파트부터 다시 하기로..!

그 외 기타등등

  • npm5 부터는 --save 옵션을 기본 옵션으로 적용한다. 따라서 --save를 사용하지 않아도 dependencies에 설치시 항목이 추가됨.
728x90
저작자표시 비영리 변경금지 (새창열림)

'기록 > 코드스테이츠 프론트엔드' 카테고리의 다른 글

12주 1일차 - 데일리코딩 뜯어보기  (0) 2022.07.11
11주차 마무리 - 힐링  (0) 2022.07.10
11주 4일차 - Cmarket Redux 2  (0) 2022.07.08
11주 3일차 - Cmarket Redux 1  (0) 2022.07.06
11주 1일차 - react custom components 리팩토링, BFS  (0) 2022.07.04
    '기록/코드스테이츠 프론트엔드' 카테고리의 다른 글
    • 12주 1일차 - 데일리코딩 뜯어보기
    • 11주차 마무리 - 힐링
    • 11주 4일차 - Cmarket Redux 2
    • 11주 3일차 - Cmarket Redux 1
    FE RYAN
    FE RYAN

    티스토리툴바