IT/Node.js

[Node.js] 'npm'이 도대체 뭘까? - 5분 만에 npm을 이해해 보자!

Buang 2023. 2. 4. 14:11
반응형

1. npm이 도대체 뭘까?

 

1-1. npm은 밀키트다.

 

npm은 Node Packaged Manager의 약자로

Node.js로 만들어진 패키지(Packaged)를 관리(Manager)해주는 게 npm라고 한다.

 

혹시라도 Node.js에 대해 잘 모른다면

Node.js가 도대체 뭘까? 글을 참고하는 걸 추천하며

글을 읽는 분들께서 Node.js가 무엇인지 알고 있단 전제하에 

내용을 마저 작성해 보겠다.

 

npm이 Node.js로 만들어진 패키지를 관리해 주는 거라고 위에서

이야기 했는 데 이 말이 잘 이해가 안 갈 수 있다.

 

npm은 '밀키트 관리자'라고 생각하면 쉽다.

 

오리훈제를 직접 만들어서 해 먹는 것 보단

밀키트처럼 이미 준비된 재료를 전자레인지에

돌리면 쉽게 음식을 만들 수 있는 것처럼

 

Node.js에서도 이미 사람들이 Node.js를 이용해서

밀키트처럼 무언가를 만들어 놓은 것들을

우리가 쉽게 가져가서 사용할 수 있다.

 

샤브샤브 밀키트, 오리훈제 밀키트, 카레 밀키트 등

다양한 밀키트가 있듯이

Node.js로 만들어진 다양한 패키지(밀키트)가 있다.

 

숫자를 입력하면 그 숫자가 짝수인지, 홀수인지 판별해주는 패키지

글씨를 예쁘고, 화려하게 출력해주는 패키기,

전 세계적으로 유명한 히어로(아이언X, 스파이더X)

이름을 출력해주는 패키지도 있다.

 

이렇게 많은 Node.js 패키지를 관리하고,

우리가 사용할 수 있도록 해주는 게 npm이다.

 


1-2. npm 사용방법

 

밀키트를 사려면 마트에 찾아 가야하는 것처럼

node.js 패키지(모듈)를 사용하려면 npm이란 사이트를 찾아가주면 된다.

 

 

 

위의 사이트가 바로 npm 사이트이다.

이 글을 클릭하면 npm 사이트로 이동할 수 있다.

 

 

 

나는 figlet이란 패키지를 사용하고 싶어서

검색창에 figlet을 입력하고 들어갔다.

 

 

figlet 패키지는글씨를 '아스키아트'로 바꿔주는 패키지다.

여기서 아스키 아트란 '텍스트 아트', '문자 그림'으로도 불린다.

지금은 그냥 글씨를 멋들어지게 만들어주는 게 figlet이구나~하고 이해해도 충분하다.

 

위의 이미지의 경우 내가 'Hello World!!'라고 입력한 뒤

파일을 실행시켜준 모습으로

터미널 창에는 Hello World!! 아스키아트가 보인다.

 

 

Hello World 말고, I'm Buang!! 이라고 바꿔줬더니

바뀐 글씨에 따라 아스키아트가 출력되는 걸 확인할 수 있다.

 

figlet이란 패키지를 사용하면 이런 일이 가능하다.

이제 이 패키지를 사용하는 방법에 대해 살펴보자.

 

 

figlet 패키지를 소개하고 있는 부분으로 들어가면

figlet 패키지가 무슨 패키지인지에 대한 설명과

이 패키지를 어떻게 사용하는지(=밀키트 조리법)를 알려준다.

 

패키지를 사용하기 위해선 터미널 창에 

npm install figlet이란 명령어를 쳐줘야 한다고 한다.

 

 

그래서 vscode를 키고

터미널 창에 npm install figlet을 쳐서

figlet이란 패키지를 설치했다.

밀키트(=figlet)를 마트(=npm 사이트)에서 사와 집으로 가져온 것과 비슷하다.

 

이렇게 가져온 밀키트를 어떻게 조리해야 할까?

 

npm 사이트에 보면

npm install figlet 아래에

Simple usage가 보인다.

 

사간 밀키트를 어떻게 조리해야 하는지를

설명하는 코드라고 생각하면 된다.

 

 

 

Simple usage 아래 있는

예시 코드를 복사해서 vscode에 붙여넣기 했다.

 

var figlet = require ('figlet');

 

예시 코드의 첫 줄을 보면 require란 단어가 보인다.

require은 '요구하다'란 뜻을 가지고 있다. 

무엇을 요구하는가? 하면 옆에 figlet이란 모듈을 요구한다라고 해석할 수 있다.

 

맨 처음에 npm install figlet을 통해

figlet 모듈을 설치했었다. 

'설치한 figlet 모듈을 내가 이제 사용할 거야.'라고 알려주는 게

var figlet = require('figlet'); 부분이다.

 

 

첫 줄 아래 코드는 이해할 필요 없다.

지금은 코드에서 Hello World!!라고 써져 있는 부분을 바꾼 뒤

node [파일이름.확장자명]을 작성해 주면

아스키아트가 출력되는 구나,라고 이해하면 된다.

 

 

 

<정리>

 

- 초반에 npm은 밀키트 관리자라고 했었다.

수많은 연예인이 있고, 그 연예인의 스케쥴을 관리해주는 매니저가 있는 것처럼

세상에는 node.js로 만들어진 수많은 패키지(=밀키트)들이 있고,

그  패키지들을 관리하는 게 npm이다.

 

그럼 이제 초반의 npm에 대한 정의가 조금 감이 잡힐 것이다.

 

- npm은  Node.js로 만들어진

패키지(Packaged)를 관리(Manager)해주는 것이다.

 

반응형