Node.js에서 현재는 CommonJS와 ES Modules가 혼재하는 상태입니다. 예전에는 ES Modules가 없었기 때문에 Node.js는 CommonJS를 선택했고 꽤 오랫동안 잘 동작했지만 이제는 ES Modules가 표준이 되었기 때문에 Node.js는 CommonJS로 구축된 생태계를 유지하면서도 ES Modules를 지원하기 위한 방법을 오랫동안 논의한 끝에 현재는 둘다 지원하고 있습니다. 이 부분이 사용하는 쪽과 만드는 쪽의 지식이 다 필요하기 때문에 약간 혼란스러운 상황입니다. 저는 CJS가 더 익숙하기 때문에 ESM을 섞어서 쓰기 시작하면서 헷갈리는 부분을 공부하려고 하다가 미루고 있었는데 이 글에 꽤 정리되어 있습니다. npm.js 생태계에서는 사용하는 모듈의 지원 상태도 봐야 하지만 이 글을 쓴 Toss에서는 내부에서 CJS와 ESM을 모두 지원하기 위해서 규칙을 만들어서 통일시키기 쉬운 상태입니다. Node.js가 package.json의 type 필드를 이용해서 CJS와 ESM을 어떻게 구분하는지 설명하고 exports 필드에서 require와 import키를 지정해서 CJS와 ESM의 파일을 각각 로딩할 수 있게 하는 방법을 설명합니다.

CommonJS와 ESM에 모두 대응하는 라이브러리 개발하기: exports field

toss.tech

CommonJS와 ESM에 모두 대응하는 라이브러리 개발하기: exports field

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 10월 19일 오후 4:32

 • 

저장 25조회 3,330

댓글 0

    함께 읽은 게시물

    데이터 엔지니어로 성장하고 싶다면~

    🍀 데이터 엔지니어란? 소프트웨어 엔지니어링과 프로그래밍의 업무 역량 사이의 간극을 메우는 전문가로 데이터 엔지니어는 고급 분석 기술, 강력한 프로그래밍 기술, 통계적 지식, 빅데이터 기술에 대한 명확한 이해를 갖춘 사람입니다. 🍀 데이터 엔지니어는 어떤 일을 하나요? 정형 및 비정형 데이터에 쉽게 액세스할 수 있는 데이터 인프라를 설계, 관리, 테스트, 유지, 저장하고 작업을 하며, 대규모 데이터 처리를 탐색하고 확장 가능하고 안정적인 작업 환경을 보장하기 위해 전문 지식과 소프트 스킬 필요 🔱 서버와 애플... 더 보기

    15+ Must Have Data Engineer Skills in 2023

    Knowledgehut

    15+ Must Have Data Engineer Skills in 2023

    간만에 개발 떡밥이(신난다) 이번엔 제가 소수 입장에 있는 ORM이군요. 후후..


    저는 몇몇 사건을 통해 ORM 반대주의자가 된 사람인데요.


    ... 더 보기


    < 모든 시도는 둘 중 하나다. 성공하거나 배우거나 >

    1. 큰 수의 법칙. 시도가 많아질수록 결과는 평균에 수렴한다. 주사위를 많이 던질수록 각 숫자가 나오는 확률은 1/6에 가깝다.

    ... 더 보기

    약점 극복

    

    ... 더 보기

    개발자는 개발만 잘하면 될까

    최근에 친구가 추천해준 데일 카네기의 인간관계론을 읽던 중 고액 연봉을 받는 엔지니어들의 특징에 대한 흥미로운 내용이 있었다.

    ... 더 보기

     • 

    저장 12 • 조회 2,541