[JS] ESM, CJS 모듈 시스템
·
개발공부/Javascript
모듈성, 재사용성, 코드 관리를 효율적으로 하도록 도와준다. 초기 환경에서는 모든 코드가 하나의 js파일에 포함되거나 태그를 사용해서 여러 파일로 분할한다고 하더라도 각 파일 간 명확한 의존성 관리 방법이 없었다. 이로 인해 모든 코드가 단일 파일에 포함되어, 파일의 길이가 너무 길어 코드를 이해하고 관리하기가 힘들었다. 하나의 js파일에 1000줄이 넘는 코드가 있는 경우가 많았다. 프로젝트 가독성이 낮아지고, 코드를 이해하기가 어려웠다. 변수명이 충돌하는 경우가 많아 버그와 오류가 많았다. 코드 베이스가 커져서 유지 보수가 어려워졌고, 버그 수정 시에 해당 코드를 찾고, 변경이 다른 부분에 미치는 영향도를 파악하기가 어려웠다. 이를 극복하고자 ESM, CJS JS모듈 시스템이 개발되었다.설계철학, ..