할머니의 콤퓨타 도전기

npm? npx? 🤔 본문

Web Front-end/React.js

npm? npx? 🤔

ji.o.n.e 2021. 4. 7. 13:59

npm (node package manager)

  • Node.js의 의존성과 패키지 관리를 위한 패키지 매니저
  • 자바스크립트 모듈을 받아오기 위함
  • Node.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할
  • 패키지 설치 및 관리를 위한 CLI (command line interface)를 제공

npm install

  • 지역 설치 (기본)
  • 프로젝트 루트 디렉터리 내에 node_modules 디렉터리가 자동 생성. 그 안에 패키지 설치
  • 해당 프로젝트 내에서만 패키지 사용 가능

npm install -g

  • 전역 설치
  • 프로젝트마다 같은 모듈 공유해서 사용 가능
    • 모듈 업데이트 여부 확인 불가능
    • 업데이트를 진행 했을 시 변경이 생겨 다른 프로젝트에도 영향을 끼칠 수 있음
    • create-react-app 같은 보일러 플레이트에는 치명적
      • CRA = Boiler Plate?
      • Boiler Plate : 자주 쓰이는 형태를 자동화해주는 친구들
      • CRA는 react의 보일러 플레이트
    • 이에 대한 해결책이 npx

npx

  • npm을 통해 모듈을 로컬에 설치 했어야만 실행 시킬 수 있는 기존의 문제 해결
  • 모듈을 로컬에 저장하지 않고, 매번 최신 버전의 파일만 임시로 불러와 실행 시킨 후, 나중에 삭제됨
    • 최신 버전에 해당하는 패키지 설치하여 실행
    • 실행된 이후에는 패키지 제거
  • 보일러 플레이트 모듈에 효과적
    • npx를 통해 create-react-app을 설치하게 되면 매번 최산 버전만을 가져와 설치하기 때문에 어떤 버전을 사용하고 있는지 신경쓸 필요 없음
    • 어차피 최신버전만 사용

'Web Front-end > React.js' 카테고리의 다른 글

All you need to know about State  (0) 2021.04.08
Class Components and State  (0) 2021.04.08
Protection with PropTypes  (0) 2021.04.01
map Recap  (0) 2021.04.01
Dynamic Component Generation  (0) 2021.03.31
Comments