NPM / package.json

이준교·2023년 4월 23일
0

npm

node package manager 즉, Node.js에서 사용할 수 있는 모듈들을 패키지화하여 설치 및 관리를 위한 CLI를 제공
CLI = Command line interface
본인이 작성한 패키지를 공개 혹은 검색하여 재사용이 가능!

npm 관련 간단한 명렁어 일부..

npm init // package.json 파일을 생성, -y를 사용 시 설정값을 묻지않고 default값으로 모두 설정
npm install "패키지명" // 해당 패키지를 설치, -g 사용시 로컬이 아닌 전역에 설치(install 대신 i 사용 가능)
npm uninstall "패키지명" // 언인스톨, 말 그대로 해당 패키지 삭제, -g 사용시 전역에서 삭제
npm update "패키지명" // 패키지를 업데이트
npm search "패키지명" // npm에 존재하는 패키지를 검색
npm info "패키지명" // 패키지의 버전 정보등 세부사항을 확인
npm root "패키지명" // 로컬 패키지 설치 디렉토리 확인, 마찬가지로 -g 사용 시 전역 확인

{
"name": "cookie-session",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cookie-parser": "^1.4.6",
"express": "^4.18.2"
}
}

  • name : 프로젝트의 이름
    version : 프로젝트의 버전
    description : 프로젝트의 설명, npm search로 검색된 리스트에 표시
    main : main이 되는 파일, 시발점
    scripts : 프로젝트에서 자주 실행해야 하는 명령어를 scripts로 작성해두면 npm 명령어로 실행 가능
    keywords : 프로젝트를 검색할 때 참조되는 키워드, npm search로 검색된 리스트에 표시
    author : 프로젝트 작성자 정보, name, email, url 옵션을 포함한 json 형식
    license : 라이센스 정보
    dependencies : 서비스를 배포할 때 쓰이는 모듈을 관리, 보통 package,json에서 가장 많은 정보가 입력되는 곳
    devDependencies : 개발자모드, 개발할때만 쓰이는 모듈을 관리

node_modules는 용량을 많이 차지하므로 보통 gitignore를 통해 제외시킨 상태에서 배포
이후 필요시 npm install 을 통해 package.json에 명시된 의존 패키지를 한번에 설치하여 사용
전체를 전달하는 것 보다 가볍게 전달이 가능해 협업시 효율을 증가시킬 수 있다

그럼 package.jon이란?

위 서술한 내용처럼 package.json은 Node.js 프로젝트에서 사용되는 수많은 패키지를 보다 편리하게 관리하도록 한다
이때 package-lock.json이 같이 사용되는대 package.json에서 설치한 모듈의 dependencies들을 보다 세세하게 명시 해놓은게
package-lock.json이다.
협업 및 배포 시 보다 효율적인 모듈관리를 위해 사용되어 짐

profile
어떻게든 해내는 개발자, 이준교입니다

0개의 댓글