개발 환경과 프로덕션 환경은 코드가 실행되는 컨텍스트로 생각할 수 있습니다.
개발환경에서는 로컬 시스템에서 애플리케이션을 빌드하고 실행합니다.
프로덕션 환경으로 넘어가는 것은 애플리케이션이 배포될 준비가 되도록 하고, 사용자가 사용할 수 있도록 만드는 과정입니다.
Next.js는 개발 및 프로덕션 단계에 대한 기능을 제공합니다.
예를 들어,
- 개발 단계에서 Next.js는 개발자와 애플리케이션 구축 경험을 최적화합니다. TypeScript와 ESLint 통합, Fast Refresh 등과 같은 개발자 경험을 개선하기 위한 기능이 함께 제공됩니다.
- 프로덕션 단계에서 Next.js는 최종 사용자와 애플리케이션 사용 경험을 최적화합니다. 성능과 접근성을 높이기 위해 코드를 변환하는 것을 목표로 합니다.
각 환경마다 고려사항과 목표가 다르기 때문에, 개발환경에서 프로덕션 환경으로 이동하기 위해 해야할 일이 많습니다. 예를 들어, 애플리케이션 코드는 컴파일, 번들, 축소 및 분할이 필요합니다.
Next.js는 이러한 코드 변환 및 기본 인프라의 대부분을 처리하여 애플리케이션이 프로덕션으로 쉽게 전환되도록 합니다.
이것은 Next.js가 저수준 프로그래밍 언어인 Rust로 작성된 컴파일러와 컴파일, 최소화, 번들링 등에 사용할 수 있는 플랫폼인 SWC를 가지고 있기 때문에 가능합니다.
다음 섹션에서는 이러한 변환이 무엇인지 각각 살펴보겠습니다.
원문 - https://nextjs.org/learn/foundations/how-nextjs-works/development-and-production