리액트 어플리케이션을 빌드할 때, npm run build
명령어를 실행하면 웹팩과 같은 번들러가 어플리케이션 코드를 번들링한다. 이 과정에서 불필요한 코드나 주석은 최적화 단계에서 제거된다. 자세한 과정을 살펴보면
트리쉐이킹
트리쉐이킹은 모듈 번들링 과정에서 사용되지 않는 코드를 제거하는 최적화 기법이다. 이로 인해서 실제로 사용하지 않는 함수, 변수 등이 최종 번들 파일에서 제외된다.
Uglify난독화 / Minify압축
빌드 과정에서는 코드 압축 (Uglify
/Minify
)이 이루어지며, 이 과정에서 주석, 공백 및 불필요한 코드가 제거된다.
난독화
코드압축 시
process.env.NODE_ENV
를 이용하여 개발모드와 프로덕션모드를 구분한다. npm run build
는 보통 NODE_ENV
를 production
으로 설정하여 실행되며, 이 때 프로덕션 모드에 맞게 최적화가 진행된다.