Web Dev/JavaScript :: 자바스크립트

[JavaScript] npm - 플러그인, 라이브러리, 도구의 저장소

HJPlumtree 2021. 4. 4. 22:54

npm(node package manager)

방대한 플러그인, 라이브러리, 도구의 플러그인 저장소에 액세스 할 수 있게 도와주는 커맨드 라인 도구

여기서 수많은 개발자들이 공유한다.

 

공개하는 패키지에는 꼭 package.json 파일이 있어야된다.

package.json 파일은

프로젝트가 의존하는 파일을 나열한다

빌드를 복제할 수 있게 해줘서 다른 개발자와 쉽게 공유할 수 있게 한다.

 

package.json 필드

name과 version 필드 필수

name 필드에는 패키지 이름이 들어가고, 하이픈(-), 언더스코어(_), 소문자 사용가능

version 필드는 x.x.x 형태를 따라야 된다.

{
  "name": "my-awesome-package",
  "version": "1.0.0"
}

 

Author 필드 [선택]

패키지에 author 필드를 넣고 싶으면 밑의 형태로 써야된다.

Your Name <email@example.com> (http://example.com)

 

package.json 파일 만들기

CLI questionaire 이용

1. 패키지의 root 디렉토리로 이동

cd /path/to/package

2. npm init 실행

npm init

3. 커맨드 라인 질문(command line questionnaire) 답변하기

 

package.json 질문 사용자 지정하기

여러개의 package.json 파일을 만들게 된다면, init 프로세스에서의 질문을 사용자 지정할 수 있습니다.

홈 디렉토리에, .npm-init.js 파일 만들기

사용자 지정 질문을 넣기위해 prompt 함수 넣기

module.exports = prompt("what's your favorite flavor of ice cream, buddy?", "I LIKE THEM ALL");

사용자 지정 필드를 넣기위해서는 .npm-init.js 파일에 원하는 필드를 넣는다.

module.exports = {
  customField: 'Example custom field',
  otherCustomField: 'This example field is really cool'
}

 

기본 package.json 파일 만들기

npm init에 --yes 나 -y 플래그 넣어 주면된다.

패키지의 root 디렉토리로 이동

cd /path/to/package

커맨드 실행

npm init --yes

 

init command에 기본 config 옵션 설정

예를들어 기본 author email, author name, license를 넣으러면,

커맨드에서 밑을 실행하면된다.

> npm set init.author.email "example-user@example.com"
> npm set init.author.name "example_user"
> npm set init.license "MIT"

 

더 자세한 내용이나, 하다가 막히면 npm 공식 문서를 확인하자