개발자

npm 라이브러리 구현할 때 CommonJS, ESM를 둘 다 지원해야 하는 이유는 뭘까요?

2023년 03월 10일조회 115

안녕하세요 스터디를 통해 사내 npm 라이브러리를 만들어보려고 합니다. 같이 참여하는 사수분께서 문서를 통해 몇가지 요구사항을 전달해주셨는데요 그 중에서 궁금한 부분이 있어서 질문 남기게 됐습니다. 라이브러리를 구현할 때 CommonJs와 ESM을 둘 다 지원할 수 있도록 구현해야 한다고 하는데 그 이유가 무엇일까요? 간단하게라도 답변 해주시면 감사드리겠습니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

이범희님의 프로필 사진

요즘의 node.js 환경과 빌드 도구들은(vite, webpack, etc) esm을 모두 지원해요. 만약 사내 npm 라이브러리를 사내 프로젝트에서만 사용할 것이고 node.js 버전이 esm을 지원하는 버전을 사용할 것이라면 commonjs를 꼭 지원할 이유는 없어요. 다만, 호환성을 위해서 esm을 지원하지 않는 node.js 환경까지 지원할 것이라면 commonjs까지 지원하는 게 좋아요.

profile picture

익명

작성자

2023년 03월 13일

답변 감사합니다! 결국 esm을 지원하지 않고 commonjs만 지원하는 환경에서 해당 라이브러리를 사용해야하는 경우가 있기 때문에 둘다 지원하는 라이브러리를 만들어야 된다고 하셨던거군요. 감사합니다:)

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!