Node Package Manager로 일종의 앱스토어.
필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈 스토어이다.
- npm 모듈 : node.js에서 이미 만들어진 모듈을 칭하는 이름
- package.json : npm 모듈의 정보가 담겨진 곳
package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있다. package.json에는 어떤 모듈인지만 적혀 있다.
node_modules : 실제 모듈들이 저장되는 폴더 이름
npm install <모듈명> : 해당 명령어로 package.json의 모듈을 다운받는다.
package.json의 JSON 형식에서 키에 적힌 것은 모듈 이름, 값은 버전이다.
devDependencies에는 이 프로젝트를 개발하는 환경에서 필요한 모듈들이 무엇인지가 적혀 있다.
예를 들어 코드 모양을 잡아주는 lint나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈들을 명시한다.
devDependencies : 프로그램 실행과 관계없는 오로지 개발을 위해 필요한 dependency(의존성 모듈)
--save-dev 옵션과 함께 설치하면, 자동으로 devDependencies에 추가된다.
$ npm install mocha --save-dev
dependencies는 devDependencies와는 다르게, 이 프로젝트가 돌아가기 위해 반드시 필요한 모듈들이 무엇인지가 적혀 있습니다.
dependencies : 직접 실행과 관련있는 dependency
ex) underscore, React 등
-save 옵션과 함께 설치하면, 자동으로 dependencies에 추가된다. --save 옵션은 생략가능.
$ npm install react
// 또는
$ npm install --save react
npm script : CLI에서 사용가능한 명령을 기술.
CLI에서 실행할 때에는 "npm run <스크립트 이름>" 으로 실행.