NPM 시작하기

알파로그·2023년 12월 14일
0

Node.js

목록 보기
2/25

✏️ NPM 와 미들웨어

📍 NPM

  • Node Package Manager 의 약자로 Node.js 에서 사용할 수 있는 여러가지 모듈을 공유하는 곳이다.

📍 미들웨어

  • 어플리케이션으로 들어오는 HTTP 요청 위에서 동작하는 기능을 캡슐화하는 방법이다.
    • express 앱에서는 app.use() 를 호출하는 것으로 파이프라인에 미들웨어를 삽입한다.
  • request, response 객체와 next() 함수를 매개변수로 받는 방식으로 작동된다.
    • next() 를 호출하지 않는다면 파이프라인은 거기서 종료되고, 이후의 라우트 핸드러와 미들웨어는 호출되지 않는다.
    • next() 를 호출하지 않고 response 를 보내주지 않으면 클라이언트는 타임아웃에 걸리게 된다.
    • next() 를 호출했다면 response 는 보내지 않는 게 좋다.

✏️ 사용하기

📍 NPM 기본 패키지 세팅하기

  • 현재 작업중인 프로젝트에서 사용중인 모듈을 효율적으로 관리하기 위해 아래 명령어로 npm 패키지를 세팅할 수 있다.
    • 최초에 몇가지 세팅해줘야 할 것들이 있는데 그냥 공백으로 넘어가주면 된다.
npm init
  • 위 명령어를 실행하면 package.json 파일이 생성된다.
    • 해당 파일은 main 의 값을 기본적으로 index.js 로 생성하는데,
      루트 파일의 이름을 index.js 로 하지 않았다면 해당 값을 루트파일의 이름으로 수정해주는 것이 좋다.

📍 모듈 설치하기

🔗 NPM 공식 사이트

  • 링크에서 원하는 모듈을 찾아 아래 명령어로 모듈을 설치할 수 있다.
npm init 모듈명
  • package.jsondependencies 에서 현재 사용중인 모듈과 버전을 확인할 수 있다.
    • package 파일의 목적은 프로젝트의 설명을 남기고,
      의존하는 패키지 리스트를 만드는 것이다.
  • package-lock.json 에서 사용중인 모듈의 디테일한 패키지 내용을 확인할 수 있다.

📍 모듈 삭제하기

npm uninstall 모듈명

✏️ 라이센스

  • NPM 에서 제공하는 모듈들은 패키지마다 라이센스 정책이 다르다.
    • 심지어 패키지가 의존하고있는 패키지의 라이센스 문제도 있다.
  • 가장 많이 사용되는 라이센스는 MIT 로 거의 모든것을 허용한다는 라이센스이다.
    • 프로젝트 내의 라이센스 문제를 파악하도록 도와주는 모듈인 nlflicense-report 를 사용해 배포전 검증을 해야한다.
profile
잘못된 내용 PR 환영

0개의 댓글