부트캠프/TIL

코드스테이츠 프론트엔드 부트캠프 day 10 #1 npm과 package.json

하이고니 2022. 12. 28. 08:54

npm

node.js 환경에서 외부 라이브러리를 다운로드하기 위해 존재하는 방법 중 대표적인 것.

Node Package Manager 의 약자로 일종의 앱스토어다. 필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈 스토어다.

 

macOS 의 패키지 매니저가 brew이듯, node.js 생태계의 패키지 매니저는 npm이다.

 

package.json

package.json 에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법,

프로그램을 테스트하는 방법 등이 명시되어 있다. 

*프로그램을 실행시키기 위해 필요한 실제 모듈은 따로 node_modules 라는 폴더에 저장된다.

package.json 에는 어떤 모듈인지만 적혀 있다. (예를 들어, 전자제품의 카탈로그)

 

프로젝트 코드를 넘겨줄 때,

"우리 코드는 여기 있고, 필요한 모듈은 package.json 에 적어놨으니 네가 직접 다운받아서 쓰면 돼" 라고 하면 된다.

앞으로 스프린트를 진행할 때, 해당 스프린트의 레파지토리를 열어보면 node_modules 는 없고, package.json 만 있을 것이다.

그럼 package.json 에서 필요하다고 하는 모듈을 npm을 사용해 다운로드하면 된다.

 

npm install 명령어를 입력하면, package.json에서 필요하다고 하는 모듈을 다운로드한다.

npm install이 완료되면 node_modules 디렉토리가 생긴 걸 확인할 수 있다.

devDependencies 에는 프로젝트를 개발하는 환경에서 필요한 모듈에는 무엇이 있는지 적혀 있다.

예를 들어 코드 모양을 잡아주는 lint 나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈들을 명시한다.

 

scripts

 

scripts 항목은 CLI에서 사용가능한 명령을 기술한다. 이를 npm script라고 부른다.

CLI에서 실행할 때는 "npm run <스크립트 이름>" ex) text, report, submit