NPM(노드 패키지 관리자) 시작

본고에서 우리는 NPM(노드 패키지 관리자)이 무엇인지, 프로젝트에서 어떻게 사용하는지 토론할 것이다.
제 세 번째 부분입니다Node Module series.

NPM 개요:


그렇다면 노드 패키지 관리자는 도대체 무엇입니까?
패키지는 패키지 관리자가 관리하는 코드로 패키지 관리자는 패키지의 설치와 업데이트를 관리하는 소프트웨어일 뿐이다.
NPM은 공식document에 따라

NPM is the world's largest software registry. Open-source developers from every continent use npm to share and borrow packages and many organizations use npm to manage private development as well.


따라서 NPM에서는 NPM이 관리하는 다른 사람의 소스 코드를 프로젝트로 가져옵니다.
다운로드 시 NPM에는 일반적으로 Node JS가 함께 제공됩니다.
명령 프롬프트에서 명령npm -v을 실행하면 기계에 npm가 설치되어 있는지 확인할 수 있습니다.
버전 번호로 돌아가면 NPM이 성공적으로 설치되었음을 나타냅니다.
NPM의 등록표는 npmjs.com에 위치하고 있으며, 그곳에서 우리는 우리가 사용할 수 있는 가방을 발견할 수 있다.
기본적으로 터미널 스타일링에 사용되는 chalk 패키지를 살펴보겠습니다.

pic credit npmjs.com


위의 그림에서 우리는 이 소프트웨어 패키지의 매주 다운로드량을 볼 수 있는데, 이것은 그것이 얼마나 인기가 있는지를 나타낸다.
이 가방의 의존 관계를 볼 수 있습니다.따라서 이 모듈은 우리 프로젝트에 대한 의존으로 그 자체도 다른 모듈에 의존할 것이다.
따라서 전체 관리 과정은 패키지 관리자가 책임진다.
심지어 GitHub의 소스 코드도 우리에게 제공됩니다.우리는 그것을 탐색하여 해결되지 않은 문제가 있는지 검증할 수 있다.
계속하기 전에 NPM 패키지는 다른 버전이 있습니다.버전이 따르는 모델은 의미 버전 제어이다.
보시다시피 제가 is글을 썼을 때 chalk 모듈의 최신 버전은 4.1.0이었습니다
그것은 의미 버전 제어Major_changes를 따른다.Minor_changes . Patch Major_changes 말 그대로 모듈에서 한 것은 기존 코드의 중대한 변경에 영향을 미칠 수 있다.Minor_changes는 새로운 강화나 기능, 그리고 추가된 결함 복구로 기존 코드에 영향을 주지 않습니다.Patch는 기존 코드를 붕괴시키지 않는 작은 오류 복구입니다.
의미 버전 제어에 대한 자세한 내용은 semver.org 에서 확인하실 수 있습니다.

NPM 설치:


이제 NPM에서 패키지를 가져오려면 명령 프롬프트에서 명령을 실행하고 로컬 프로젝트 폴더에서 NPM을 초기화해야 합니다.
npm init
상기 명령을 실행하면 패키지 이름, 버전 등 다음과 같은 데이터를 제공해야 합니다.
괄호 () 에 설명된 대로 대부분의 데이터는 기본값으로 유지됩니다.
또한 authorlicense 필드는 NPM 패키지를 작성한 사용자에게 적용됩니다.다른 한편, 우리는 단지 그것들을 가져와 사용해서 우리의 응용 프로그램을 만들 뿐이다.
package name: (code_npm) code_npm
version: (1.0.0) 1.0.0
description: npm demo
entry point: (index.js) index.js
test command: test
git repository:
keywords: npm test
author: Sarvesh
license: (ISC)

모든 필드를 입력하면 위의 속성이 있는 JSON 파일이 생성되고 확인을 요청합니다.
Is this OK? (yes) yes
확인yes하면 다음 그림과 같이 입력한 모든 데이터를 포함하는 package.json 파일이 생성됩니다.
{
  "name": "code_npm",
  "version": "1.0.0",
  "description": "npm demo",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm",
    "test"
  ],
  "author": "Sarvesh",
  "license": "ISC"
}

또한 script 속성이 추가된 test 객체를 볼 수 있습니다. npm test 명령을 사용하여 객체를 실행하면 다음과 같이 원하는 출력을 되돌려줍니다.
"Error: no test specified"
이제 NPM 초기화와 사용자 정의 속성 값 입력 대신 간단하게 명령을 실행할 수 있습니다.
npm init -y
이 명령을 실행하면 기본값 package.json 파일이 생성됩니다.

현재 프로젝트에 최신 버전의chalk 패키지를 설치하려면 다음 명령을 실행해야 합니다
npm install chalk
원하는 특정 버전의 분필을 설치할 수도 있습니다. @version number만 추가하면 됩니다. 아래 그림과 같이 install 대신 설치를 대표하는 간략한 i 로고만 설치하면 됩니다.
npm i [email protected]
이것은 두 개의 물건, 한 개의 node_modules 폴더와 한 개의 package-lock.json 파일을 설치할 것이다.

또한 설치된 패키지의 이름과 버전을 포함하는 dependencies 파일에 package.json 이라는 새로운 속성을 추가합니다.
"dependencies": {
    "chalk": "^4.0.0"
  }
node_module 폴더는 패키지 폴더와 dependencies 폴더를 포함합니다.npm 패키지를 설치할 때 수정됩니다.package-lock.json에는 NPM을 보다 빠르고 안전하게 만드는 코드가 포함되어 있습니다.
"chalk": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
      "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
      "requires": {
        "ansi-styles": "^4.1.0",
        "supports-color": "^7.1.0"
      }
이것은 주로 version 등의 속성을 포함하는데 이것은 의미 버전 번호이다.resolved 속성은 패키지를 추출하는 디렉터리나 위치입니다. 이 예에서 패키지는 chalk 에서 추출됩니다.integrity 속성은 우리가 의존항을 다시 설치하면 같은 코드를 얻을 수 있도록 확보하기 위한 것이다.requires 대상 속성은 chalk 패키지의 의존 관계를 나타낸다.
참고: - 두 파일 node_modulespackage-lock.json 을 변경하거나 편집하지 마십시오.

NPM 사용:


이제 프로젝트에 분필을 설치하면 require() 방법으로 루트 프로젝트 파일을 가져오고 이 모듈을 변수 chalk 에 저장할 수 있습니다.

패키지 red() 방법을 사용하여 "Hello World"텍스트 색상을 빨간색으로 설정합니다

명령chalk을 실행할 때, 우리는 다음과 같은 출력을 얻습니다



현재 chalk 패키지를 사용하여 명령행 출력 스타일을 설정할 수 있는 방법이 많습니다. 더 많은 정보는 npm의Chalk official document


또한 로컬 프로젝트에 설치하지 않고 저희 운영체제에 npm 패키지를 전역적으로 설치할 수 있습니다. 방법은 명령줄에 node index.js 로고를 추가하는 것입니다. 이 로고는 다음과 같은 전역을 나타냅니다.



npm i nodemon -g

이 글로벌 패키지는 로컬 설치가 아니기 때문에 어떠한 방식으로도 영향을 미치지 않습니다.

디렉터리의 파일 변경을 관찰할 때 자동으로 노드 응용 프로그램을 다시 시작할 수 있도록 -g 패키지를 글로벌 설치했습니다

자세한 내용은 nodemon 참조


우리는 실행 프로그램을 사용하여nodemon 패키지를 사용할 수 있습니다



nodemon index.js

의 작동 원리는 package.json와 유사하지만 파일 변경에 주목하고 변경이 감지된 후에 응용 프로그램을 다시 시작합니다



[nodemon] 2.0.6
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node index.js`
Hello World

주의: 사용nodemon 시, node index.js 양식이 작용하지 않을 수 있습니다


마지막으로, 우리는 통과할 것이다chalk.일부 NPM 패키지나 모듈은 우리의 프로젝트 생산 환경에서 필요하지 않지만 우리의 개발 수요에만 사용된다

우리는 nodemon 로고를 사용하여 프로젝트에 이 모듈을 설치합니다. 아래와 같습니다.



 npm i nodemon --save-dev

dev dependencies에서 dev



"devDependencies": {
    "nodemon": "^2.0.6"
  }

결론:


  • NPM은 패키지 관리자로서 프로젝트에서 사용할 수 있는 제3자 오픈 소스 코드를 관리합니다

  • NPM 모듈을 사용하기 전에 프로젝트 폴더 루트 디렉터리의 명령줄에서 사용package.jsonNPM을 로컬에서 초기화해야 합니다

  • 사용 명령devDependencies

  • NPM 패키지 설치
  • 우리는 npm init 로고

  • 를 사용하여 NPM 패키지를 전역적으로 설치할 수 있다
  • 도 사용 가능npm i <package name>표지

  • 가방을 개발에 의존

If you like this article do reach out to my as I document my learning

좋은 웹페이지 즐겨찾기