프로젝트 기능 구현 전, 페이지들 레이아웃만 먼저 배포를 하려고 배포를 시작했다..!(설렘 반, 두려움 반)
터미널에 npm run build
를 쏜살같이 쳐버리고 빌드 파일이 로드되길 기다렸다.
(...?)
터미널엔 분명 뭐가 완성됐다고 하는데 눈을 씻고 찾아봐도 빌드 파일이 보이지 않았ㄷㅏ.,,
뭐 리액트랑은 빌드 방식이 다른가보다 하고 빌드된거 같은 html 파일들을 찾아 AWS에 올려보았다. (????)
응??? 근데 용량이 너무 무지막지한데??
무언가 잘못됐음을 느끼고 구글에 검색을 했고
구글신이여, 무엇이 잘못되었습니까?
수 많은 블로그들을 뒤지면서 next 프로젝트를 빌드하면 .out
폴더라는게 추출된다는걸 알게 되었다.
문제를 알게된 것은 좋았지만, 이 문제를 해결하는 방법은 블로그 글 어디에도 적혀 있지 않았다는게 함정...
그렇게 삽질을 하다가 공식문서를 들어가 보았다.
공식 문서 검색어에 build
를 입력하고 읽어보았지만 빌드 파일과는 전혀 관련이 없어보였다.
곰곰히 머리를 굴리다 html 파일로 추출된다는 사실을 인지하고 static
을 검색했다.
그 중 Static HTML Export
라는 섹션을 발견했고 내가 찾던 내용이 맞았다.
내용을 살펴보면 내가 잘못했던 점은 package.json
에서 sciripts
의 내용을 수정하지 않고 빌드를 실행했다는 것이다. 공식 문서에 따르면, scripts
의 build
명령어를 다음과 같이 수정할 것을 명확히 제시하고 있었다.
"sciprts" : {
"build" : "next build && next export"
}
공식 문서의 내용대로 수정을 통해서 빌드를 진행하니 .out
폴더가 추출된 것을 확인할 수 있었다.
이번 사건을 계기로 다시금 공식 문서를 생활화 해야 한다는 사실을 뼈저리게 느끼게 되었다.