[npm] npm, Package.json에 관하여

2022. 7. 13. 15:06미분류

# NPM

- node package manager 으로 남이 만들어 놓은 프로젝트에서 필요한 라이브러리, 모듈들을 다운 받기위한 모듈 스토어. npm말고도 다양한 모듈 스토어가 있다. 예) MacOs - brew , Linux - apt 

 

# Package.json

- npm모듈을 이용하기 위해 해당 모듈에 대한 정보를 담은 파일. 프로젝트 전반에 관한 정보를 가지고 있다.

//package.json

{
  /* 프로젝트에 관한 정보 */
  "name": "modern-javascript-koans",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  
  /* CLI에서 사용가능한 명령어 */
  "scripts": {
    "test": "mocha modern-js-koans/*.js --sort",
    "report": "mocha modern-js-koans/*.js --sort --reporter @mochajs/json-file-reporter",
    "submit": "codestates-submission"
  },
  "keywords": [],
  "author": "codesatates",
  
  /* 개발과 관련된 dependency들 */
  
  "dependencies": {
    "react": "^17.0.2",
  },
  "devDependencies": {
    "@mochajs/json-file-reporter": "^1.2.1",
    "chai": "^4.2.0",
    "mocha": "^8.2.0",
    "sinon": "^9.0.3"
  }
}

- devDependencies : 프로그램 실행과는 관련없는 개발을 위해 필요한 모듈 실제 동작에는 관여하지 않음 ex) 코드글꼴, 배경 등등

- dependencies : 직접 실행과 관련이 있는 모듈

 

# node_modules 

- npm으로 package.json을 참고해서 다운을 받으면 실제 모듈이 저장 되는 폴더 

 

# 명령어

- npm install  : package.json에 있는 dependencies들을 바탕으로 설치 

npm install <> --save-dev : <>을 자동으로 devDependencies에 추가됨

- npm run <> : package.json의 scripts에 써있는 명령어(<>)를 사용하여 실행함.

- npm uninstall <삭제할모듈> : <>안의 모듈을 삭제함.