[패키지 매니저] pnpm, yarn, npm 비교와 사용 경험
·
기술 스택/JavaScript
자바스크립트 모듈과 패키지 매니저: Yarn, Pnpm, Npm 무엇이 다를까?JS 개발을 하다 보면 수많은 외부 모듈을 사용하게 된다. 대표적인 두 개의 모듈 시스템을 비교하면 다음과 같다.모듈 방식주요 환경문법 예시동작 방식CommonJS (CJS)Node.jsconst fs = require('fs')동기적 로딩:코드를 실행하면서 바로 모듈을 읽음(require 호출 시 파일 읽기)ES Module (ESM)브라우저, 최신 Node.jsimport fs from 'fs'정적 분석 기반 로딩:실행 전 import 경로를 미리 분석해서 모듈을 불러옴(트리 쉐이킹 가능) 외부 모듈을 사용하는 방식은 점차 ESM으로 바뀌고 있지만 모든 모듈은 결국 node_modules 폴더에 설치된다.따라서 어느 패키지..
[자바스크립트 모듈 시스템] CJS에서 ESM까지
·
기술 스택/JavaScript
자바스크립트 모듈 시스템의 역사현재 메인으로 진행하고 있는 프로젝트에서 사용하고 있는 패키지매니저를 두고 이런 질문을 받았다,왜 yarn을 사용하시나요? 다른 패키지 매니저와 차이점은 알고 있나요? 패키지매니저를 비교하면서 자바스크립트의 모듈이라는 개념에 대해 자세하게 다뤄보았다.You Don't Know JS Yet(YDKJSY) 책이 도움이 되었다. 처음 자바스크립트를 배울 땐 import, export가 자연스럽게 느껴졌지만 이는 자바스크립트가 발전되어 온 역사의 결과물이었고..수년간 발전을 거듭해온 결과 지금 이렇게 편리하게 사용할 수 있던 거였다! 자바스크립트(JS)라는 언어는 태생부터 모듈이라는 개념이 없었다.원래 웹페이지에 작은 기능을 붙이는 정도로만 쓰였기 때문에, 여러 파일로 나눠서 개발..