node.js 생태계의 패키지 매니저
{
"name": "modern-javascript-koans",
"version": "1.0.0",
"description": "",
"main": "index.js",
"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",
"dependencies": {
"@codestates-cc/submission-npm": "^1.1.1"
},
"devDependencies": {
"@mochajs/json-file-reporter": "^1.2.1",
"chai": "^4.2.0",
"mocha": "^8.2.0",
"sinon": "^9.0.3"
}
}
프로젝트에 관한 정보
CLI에서 사용가능한 명령
개발과 관련된 dependency들
$ npm install
package.json에 적힌 모듈을 다운로드 받습니다
node_modules에
저장됩니다
{
"devDependencies": {
"@mochajs/json-file-reporter": "^1.2.1",
"chai": "^4.2.0",
"mocha": "^8.2.0",
"sinon": "^9.0.3"
}
}
프로그램 실행과 관계없는 오로지 개발을 위해 필요한
dependency (의존성 모듈)
--save-dev 옵션과 함께 install 실행시 자동으로 devDependencies에 추가됨
$ npm install mocha --save-dev
* 참고로 mocha라는 모듈은 테스트를 위해 필요합니다
{
"dependencies": {
"react": "^16.7.0",
"react-dom": "^16.7.0"
}
}
직접 실행과 관련 있는 dependency
이 프로젝트에서는 React라는 라이브러리를 사용하고 있네요!
$ npm install react
$ npm install --save react
또는
--save 옵션과 함께 (생략 가능) install 실행시
자동으로 dependencies에 추가됨
우리가 흔히 하는 npm install은 package.json에 있는 dependency (의존성 모듈)를 바탕으로 설치
dependency에 등록되어 있지않다면?
코드에서는 해당 모듈을 쓰고 있지만 npm install로는 설치되지 않는다!
팀 갈등의 주요 원인이 된다
{
"scripts": {
"test": "mocha modern-js-koans/*.js --sort",
"report": "mocha modern-js-koans/*.js --sort --reporter @mochajs/json-file-reporter",
"submit": "codestates-submission"
}
}
CLI에서 사용가능한 명령 (npm script라고 부릅니다)
npm run <스크립트이름> 으로 실행 가능
{
"scripts": {
"start": "node index.js",
"test": "mocha test/index.test.js",
"lint": "eslint",
"submit": "codestates-submission"
},
}
주로 다음과 같은 작업들을 scripts 항목에 기술한다
*참고: 위에서 언급된 작업들이 항상 모든 프로젝트에 있는 것은 아닙니다
작업 내용 | 실행 스크립트 |
---|---|
node.js 앱 실행 | npm run start |
테스트 실행 | npm run test |
코드 검사 | npm run lint |
과제 제출 (코드스테이츠 only) | npm run submit |
마지막 슬라이드입니다