-
[Next.js] 개발 환경에 의한 삽질기...Next.js 2023. 7. 20. 10:14
개발하면서 현타가 와서 생각 정리겸 푸념하며 몇자 끄적여보고자 한다...
그동안 Next.js로 개발을 하면서 로컬 환경과 배포 환경의 차이로 인해 수많은 오류를 발견하고 수정하느라 꽤나 삽질을 많이했고 스트레스도 어지간히 받았었다.
알고보니 생각보다 간단하게 해결될 일이었다...
먼저 배포 환경에서 Next.js가 실행되는 방법을 생각해보자.
배포 과정에서 npm run build 명령어를 통해 빌드를 한다.
빌드가 완료되면 .next 폴더에 웹에서 실행될 javascript 파일들이 생성된다.
배포 환경에서는 이 파일들을 실행시키는 것이다.
그렇다면 npm run start는 어떨까.
실행 순서를 보면 배포 환경과 같은 과정이다.
먼저 빌드 후에 .next 폴더의 파일들을 실행시키는 것이다.
이 점을 간과하지 못하고 개발환경에서 테스트하고, 결과물을 확인하기 위해 매번 배포를 했던 나를 되돌아보며 반성을 하고 있다...
물론 개발환경도 필연적이다.
코드를 수정할 때마다 매번 새로 빌드할 필요없이 실시간으로 변경점이 반영되어 코드가 어떻게 동작하는지 바로 확인할 수 있기 때문이다.
하지만 개발환경과 배포환경은 생각보다 많은 차이가 있다.
대표적인 경우로, 개발환경에는 없었던 오류가 배포환경에서 나타나는 경우가 매우 많다.
따라서
- 개발 진행 중에는 npm run dev(개발환경)
- 체크포인트 느낌으로 배포환경의 동작을 확인하려면 npm run start(배포환경)
이런 식으로 진행하면 실제 배포를 했을 때도 오류를 최소화 할 수 있다.
'Next.js' 카테고리의 다른 글
[Next.js] ws 라이브러리를 이용한 WebSocket 구현 (4) 2024.10.11 [Next.js] node.js와 socket.io를 이용한 websocket (0) 2023.07.12 [Next.js] 내가 겪은 next-auth Error들 (0) 2023.02.10 [Next.js] Sentry 에러 net::ERR_BLOCKED_BY_CLIENT (0) 2023.02.05