package.json과 NPM: Node.js개발자를 위한 핵심 가이드
package.json?, npm?, VUE를 사용하다 보니 package.json, npm, node.js에 대해 궁금증이 생겼다.
그래서 이번에는 package.json과 npm의 단축키에 대해서 알아보도록 하자
package.json이란?
package.json은 Node.js 프로젝트에서 사용되는 JSON형식의 구성 파일이다. 개발자가 배포한 패키지에 대해, 다른사람들이 관리하고 설치하기 쉽게 하기 위한 문서이다. 일반적으로 프로젝트의 이름, 버전, 저작권정보와 함께 사용되는 외부 라이브러리 및 패키지의 종속성을 명시한다.
그림과 같이 프로젝트에 관한 정보는 name과 version
Name: 패키지의 이름
이름에는 규칙이 있다.
- 소문자로 작성되어야 한다.
- 한단어로 작성되어야 한다.
- 하이픈이나 언더스코어를 포함할 수 있다.
Version: 원하는 version에 대하여 작성
[Major].[Minor].[Patch]의 형태를 따른다.
Description : 설명을 문자열로 기술
Npm search로 검색된 리스트에 표시된다. 사람들이 패키지를 찾아내고 이해하는데 도움을준다.
Keywords : 문자열 배열로 설명
Npm search로 검색된 리스트에 표시된다. 사람들이 패키지를 찾아내고 이해하는데 도움을준다.
Main : 패키지의 진입점이 되는 모듈 ID
패키지 root의 상대경로로 지정해야 한다. 지정하지 않은 경우 root폴더의 index.js로 기본값이 설정된다.
Script: 다양한 명령어를 설정
패키지의 생명주기에서 다양한 타이밍에 자주 사용할 command를 지정해두고 사용하는데 편리하게 사용할 수 있다. value로 command(명령어)를 정의해 두고 key로 지정한 별칭을 간편하게 호출하여 사용할 수 있다.
Config : 객체를 통해 package 스크립트에서 사용되는 설정 파라미터 지정
객체는 패키지의 버전에 관계없이 패키지 스크립트에서 사용될 수 있는 설정 정보이다.
“dependencies” & “devDependencies”
패키지 이름에 해당 패키지의 버전범위를 매핑한 형태의 객체로 지정한다.
팀 내에서 동일한 개발환경을 빠르게 구축할 수 있다는 장점을 갖고 있다.
Dcependencies는 일반적인 경우 의존하고 있다는 것을 알려주는 곳이다. devDependencies는 개발모드일 때만 의존하고 있다는 것알 알려준다. 실제로 배포할 때는 필요 없는 테스트 도구나 웹팩, 바벨같은 것을 넣어 주면 된다.
만드는 이유는 배포의 목적이 아니더라도 협업을 하는 사람들 사이에 프로젝트에 대한 전반적인 소개와 내용을 전달하는데 README이외의 정형화된 수단이라고 생각한다.
NPM이란?
NPM(Node package Manager)의 약자이다. NPM은node.js를 위한 패키지 매니저이자, node.js 를 위한 오픈소스이다. 모듈들을 패키지화하여 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI를 제공한다.
자주 사용하는 npm 명령어를 알아보자!
패키지를 설치
Node.js에서 사용할 수 있는 모듈 패키지를 설치할 때에는 npm install 명령어 뒤에설치할 패키지 이름을 지정한다.
패키지 제거
패키지 업데이트
package.json scripts 프로퍼티의 start 실행
전역패키지 설치 폴더 확인
버전확인
Package.json을 생성하려면 프로젝트 루트에서 npm init 명령어를 실행한다.
npm init 명령어를 사용하면 프로젝트에 대한 여러가지 정보를 입력하도록 요구받는다.
Package.json에 관한 정보는 공식문서를 확인하면 더 자세히 알 수 있다.
https://docs.npmjs.com/cli/v7/configuring-npm/package-json
package.json | npm Docs
Specifics of npm's package.json handling
docs.npmjs.com
또한, npm 명령어를 많이 알 수록 설치나 조회 관련 명령어는 쉬워진다. 많이 알고 있을 수록 좋을 것이다.