Node.js

npm & package.json

Doityoo 2022. 10. 25. 15:58

npm 모듈?

  • 잘 하는 사람들이 만들어 놓은 검증된 코드(모듈)
  • npm 모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일
  • 프로젝트 전반에 관한 정보가 들어있음

 

이러한 모듈을 node.js에서는 npm 모듈이라고 부르며, 이에 대한 정보를 담아둔 곳이 package.json

npm은  Node Package Manager로 일종의 앱스토어와 같다.

필요한 모듈을 다운로드 할 수 있는 모듈 스토어?

프로젝트에 관한 정보
CLI에서 사용 가능한 명령
개발과 관련된 dependency

 

package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 테스트하는 방법등이 명시되어 있음.

(*실제 모듈은 node_modules 폴더에 저장되어있고 package.json은 어떤 모듈인지만 적혀있음!)

 

왜 package.json에 명시를 해놓나?

누군가에게 코드를 전달할 때, 모든 모듈을 전달하는건 비효율적이기 때문에, package.json을 보고 필요한 모듈을 다운받도록 하는 것!

 

$npm install
  • 명령어를 입력하면 package.json에서 필요한 모듈이 다운로드 됨.

 

devDependencies

  • 프로그램 실행과 관계없는, 개발(개발환경)을 위해 필요한 dependency(의존성 모듈)
  • 실제 프로젝트 동작에는 직접적인 영향을 주지 않는 모듈

 

dependency

  • devDependencies와는 다르게, 프로젝트가 돌아가기 위해서 반드시필요한 모듈들이 적혀있음.
  • 보통의 npm install은 package.json에 있는 dependency(의존성 모듈)를 바탕으로 설치한다.

 

더보기

브라우저 - JavaScript 런타임 환경

Node.js -  JavaScript 런타임 환경

 

npm - 자바스크림트 런타임 환경의 Node.js의 기본 패키지 관리자

nvm - node들의 버전을 관리해주는 매니저