NPM 사용법 전반

2020. 10. 22. 14:50웹 프론트엔드 개발 노하우/번들링

NPM 에 본인 패키지 등록

  • 패키지는 다른 패키지에 대한 부품으로 사용되거나, 아예 그 패키지 자체가 완제품인 경우가 있습니다. 어떤 타입의 패키지이든, 다른 사람들에게 편리하게 해당 패키지를 사용할 수 있게 하려면 npm registry 에 등록해야 합니다.

  • main 을 지정하면 해당 파일의 내용이 npm 패키지로 담길 것입니다.

  • 이제 npm 패키지를 발행하려면 npm publish —access public (private은 유료)를 입력합니다.

  • 한번 public 으로 지정 후엔 npm publish 만 하면 됩니다.

  • 패키지를 업데이트한 후 다시 발행하려면 버전을 어느 정도이던간에 높여야 합니다.

 

기타 : NPM 을 활용한 명령행 프로그램 만들기

  • js 파일 내에서 process.argv 를 이용해서 만들 수 있습니다.

  • 패키지를 받은 사람이 마찬가지로 명령행 프로그램을 사용할 수 있게 만들기 위해서는 등록하는 js 파일에 쓰기 권한을 주어야 합니다.

chmod +x cli.js # Make the file executable
  • 또한, 파일을 실행하는 사람들이 단지 파일 경로만으로도 해당 파일을 실행할 수 있도록
#!/usr/bin/env node
  • 이 해쉬뱅을 파일의 첫번째 줄에 포함시켜줘야 합니다. 물론 윈도우 상에서는 안 통하겠지만, npm에 올릴 때는 npm 이 알아서 처리해줍니다.

  • 패키지를 설치한 사람이 파일 경로가 아니라 명령어를 통해서 패키지를 이용할 수 있게하려면 package.json 에 아래와 같이 넣어주도록 합니다.

"bin" : { "say-hi": "./cli.js" }

 

 

NPM 에서 패키지 받아오기

  • npm install <패키지 이름> 으로 패키지를 받아옵니다.

  • npm outdated 를 쳐보면 내가 사용하고 있는 패키지 중에 업데이트가 이루어진 패키지가 있는지 확인할 수 있습니다. 이제 그 패키지를 지정해서 업데이트를 수행해도 되지만 package.json 파일의 버전 앞에 ~를 붙여서 X.X.X 버전에서 맨 세번째 숫자가 바뀐 업데이트는 npm update 만으로 자동으로 업데이트가 이루어지도록 만들 수 있습니다. (이런 식의 자동 업데이트 최대치 설정은 npm sember calculator 서비스를 이용해서 알아보십시오)

 

명령형 프로그램 받아오기

  • 만일 받아오는 패키지가 명령형 프로그램이고 bin 속성이 package.json 상에 등록이 되었을 때, 사용자는 이를 로컬로 인스톨하거나 전역으로 인스톨 할 수 있습니다.

  • 로컬로 인스톨하면 node_modules 폴더 안의 .bin 이라는 숨김 파일 안에 bin 속성에 설정된 파일의 경로를 따라 파일을 실행하는 링크가 담깁니다. 사용자는 node_modules/.bin/say-hi 이런 식으로 해당 명령어를 수행할 수 있습니다.

  • 만일 이런 식으로 node_modes/... 길게 치기 싫다면 아래와 같이 입력하면 됩니다. npx 는 먼저 로컬에서 해당 명령어를 쓰는 패키지를 찾아보고, 없으면 글로벌로 설치된 해당 명령어를 쓰는 패키지를 찾아봐서 수행합니다. 전역으로 설치했다면 그냥 say-hi 만 쳐도 됩니다.

npx say-hi

 

npx 사용하기

패키지를 설치하는게 아니라 최신버전을 일회용으로 가져와서 실행한 다음 삭제할 때 쓰입니다. process.argv 도 넘길 수 있습니다. 마찬가지로 명령행 프로그램을 bin 속성에 등록된 대로 쓸 수 있습니다.

npx -p @swon3210/design-tokens say-hi ko

 

'웹 프론트엔드 개발 노하우 > 번들링' 카테고리의 다른 글

Webpack 사용법 전반  (0) 2020.10.22