- CRA (ReactJS)
- NestJS
- typescript
PORTis 3000{"proxy": "http://localhost:8080"}source codeis./uibuild outputis./static- REST API 호출시에는 반드시,
/로 하는 로컬서버 사용할 것. - 외부 서버의 API 리소스를 사용할 때도, 로컬서버에서 외부서버 API 사용후, 데이터 리턴 받을 것.
PORTis 8080source codeis./srcbuild outputis./dist
개발 할 때는, 서버를 둘다 띄움.
# frontend (CRA)
yarn --cwd ui start# backend (NextJS)
yarn start # dev- UI project
- Backend project
아래 명령어
yarn --cwd ui buildyarn build./static 폴더와 ./dist 폴더를 도커 파일로 복사하거나, 같이 배포할 것.
# 기본 Node image를 통하여 현재 NestJs Project를 Build
FROM node:16.19.1 AS builder
# WORKDIR을 설정
WORKDIR /app
# 현재 프로젝트를 WORKDIR에 복사 이 때 dockerignore에 추가되어 있는 것들은 복사되지 않는다.
COPY . .
# 의존성 추가
RUN yarn
# 빌드
RUN yarn build
# alpine을 이용하여 도코 이미지 경량화
FROM node:16.19.1-alpine
# WORKDIR을 설정
WORKDIR /app
# NODE_ENV production으로 설정
ENV NODE_ENV production
# builder에서 build 된 결과물
COPY --from=builder /app ./
CMD ["yarn","start:prod"]