Node.js 프로젝트에 패키지 추가

완료됨

Node.js에는 파일 관리 및 HTTP 처리와 같은 작업을 위한 기본 제공 패키지가 있습니다. 그러나 NPM 레지스트리에 제공되는 다양한 타사 패키지도 있습니다.

npm 패키지를 선택하는 시기 및 방법

Tailwind Traders의 새 개발자는 프로젝트에 기능을 추가해야 합니다. 코드를 직접 작성할 수 있지만 기존 패키지를 사용하기로 결정했습니다. 이 개발 결정은 일반적인 시나리오입니다.

기존 패키지는 언제 사용해야 하나요? 고려해야 할 몇 가지 요인은 다음과 같습니다.

  • 품질: 보안과 같은 작업의 경우 잘 설정된 패키지를 사용하면 모범 사례를 따르고 에지 사례를 처리할 수 있습니다.
  • 효율성: 사용자 고유의 코드를 작성하는 데는 시간이 걸립니다. 기존 패키지를 사용하면 상당한 노력을 절약할 수 있습니다.
  • 유지 관리: 라이브러리에는 업데이트 및 버그 수정이 필요합니다. 오픈 소스 팀이 이를 처리할 수 있도록 하는 것이 더 효율적인 경우가 많습니다.

개발자는 다음과 같은 다양한 원본에서 패키지를 찾아 다운로드할 수 있습니다.

  • 레지스트리: 레지스트리는 npm 레지스트리와 같은 패키지의 컬렉션입니다. 사용자 고유의 레지스트리를 호스트할 수도 있습니다.
  • 리포지토리: GitHub URL에서 직접 패키지를 설치할 수 있습니다.
  • 파일: 패키지는 로컬 폴더 또는 압축된 파일에서 설치할 수 있으며, 사용자 고유의 패키지를 테스트하는 데 유용합니다.
  • 디렉터리: 디렉터리에서 직접 설치할 수도 있습니다.

패키지를 선택하면 해당 종속성을 확인하여 다음 요소를 고려합니다.

  • 크기: 종속성이 많을수록 더 큰 공간을 의미합니다. 대역폭 또는 하드웨어 제한 사항이 있는 경우 공간 크기가 중요합니다. 패키지를 설치하면 종속성도 설치됩니다. 이로 인해 큰 node_modules 폴더가 생성될 수 있습니다.
  • 인기도: 패키지의 인기는 품질을 나타낼 수 있습니다.
  • 라이선스: 소프트웨어를 판매하려는 경우 모든 종속성 패키지 라이선스가 재사용 및 재판매를 허용하는지 확인합니다.
  • 활성 유지 관리: 사용되지 않거나 거의 업데이트되지 않는 종속성을 방지합니다.

패키지에 대해 자세히 알아보려면 NPM 및 GitHub 리포지토리의 패키지 페이지를 방문하세요. npm 명령 npm view <package name>을(를) 사용할 수도 있습니다.

패키지를 설치하는 방법

패키지를 설치하려면 Node.js와 함께 설치된 npm CLI를 사용합니다. 터미널에서 npm install 명령을 사용하여 Node.js 프로젝트에 패키지를 추가할 수 있습니다.

npm install <name of package>

명령을 실행 install 하면 명령줄 도구가 전역 레지스트리에 연결하고, 코드를 가져오고, 프로젝트의 루트에 있는 node_modules 폴더에 배치합니다.

설치 명령에 대한 몇 가지 일반적인 스위치는 다음과 같습니다.

  • 개발 전용 패키지의 경우 --save-dev을(를) 사용합니다. 이 스위치는 package.jsondevDependencies 속성에 저장됩니다. 이러한 종속성은 일반적으로 형식, lint, 빌드, 트랜스파일 및 테스트 도구입니다.
  • 프로덕션 전용 패키지의 경우 --production을(를) 사용합니다. 이 스위치는 개발 전용 패키지를 제외합니다.
  • 전역적으로 사용 가능한 도구의 경우 -g을(를) 사용합니다. 명령줄 도구는 프로젝트로 가져오는 대신 전역적으로 설치되는 경우가 많습니다. 전역 종속성은 proejct 수준 node_modules이(가) 아닌 시스템 전체 디렉터리에 설치됩니다. 그러나 전역 패키지는 시스템을 복잡하게 만들 수 있습니다. npx 명령은 패키지를 일시적으로 설치하여 이 문제를 해결합니다. npx <name>을(를) 사용하여 패키지를 가져오고 실행한 다음 제거합니다.

설치 후 프로젝트 디렉터리가 다음 예제와 같이 표시됩니다.

package.json
node_modules/
  <name of dependency>/
    <files included in the dependency>
src
  index.js

npm CLI 명령

npm 명령줄 도구에는 패키지 설치, 패키지 작성 및 Node.js 프로젝트 초기화와 같은 작업에 도움이 되는 몇 가지 명령이 있습니다.

NPM 명령은 범주로 분류됩니다.

  • 종속성 관리: 패키지를 설치, 업데이트 및 제거하기 위한 명령입니다.
  • 스크립트 실행: 테스트 및 코드 빌드와 같은 개발 흐름을 관리하기 위한 명령입니다.
  • 환경 구성: 설치 경로 및 패키지 원본을 설정하기 위한 명령입니다.
  • 패키지 작성 및 게시: 패키지를 만들고 게시하기 위한 명령입니다.

모든 명령의 자세한 목록을 보려면 터미널에 다음 명령을 입력합니다.

npm --help

설치 확인

package.json 폴더에 있는 내용을 보려면 npm list을(를) 사용합니다. npm list 명령은 설치된 node_modules 디렉터리의 모든 패키지를 나열합니다. 설치된 각 패키지는 자체 종속성을 모두 설치했습니다.

list 명령으로 인해 목록이 길어 이해하기 어렵기 때문에 list 명령을 사용하여 패키지를 다양한 깊이로 나열할 수 있습니다. 0 수준에서 명령은 package.json의 dependencies 섹션에 있는 것과 동일한 내용을 나열합니다.

npm list --depth=<depth>

Jest 패키지를 설치한 경우 npm list --depth=0은 다음과 유사한 출력을 생성합니다.

├── jest@26.0.1

종속성 정리

패키지가 더 이상 필요하지 않은 경우 제거합니다. 종속성을 제거하면 프로젝트가 정리되고 공간이 절약됩니다. 이 정리는 Angular, React 또는 Vue와 같은 SPA(단일 페이지 애플리케이션)에 특히 중요합니다. 이러한 앱은 브라우저에 제공된 파일로 코드를 번들하고 압축합니다. 파일이 클수록 로드하는 데 시간이 더 오래 걸리므로 사용자가 방해를 받을 수 있습니다.

더 이상 필요하지 않은 종속성을 정리하는 방법에는 두 가지가 있습니다.

  • 제거: 패키지를 제거하려면 npm uninstall <name of dependency>를 실행합니다. 이 명령은 package.json 매니페스트 파일과 node_modules 폴더에서 패키지를 제거합니다.
  • 정리: npm prune을(를) 사용하여 node_modules에서 나열되지 않은 모든 종속성을 제거합니다. 정리는 각각에 대해 제거를 실행하지 않고 여러 종속성을 제거하려는 경우에 유용합니다. 정리하려면:
    1. package.json의 dependencies 또는 devDependencies에서 항목을 삭제합니다.
    2. run npm prune.