고궁

npm은 세계 최대의 소프트웨어 레지스트리입니다. 모든 대륙의 오픈 소스 개발자는 npm을 사용하여 패키지를 공유 및 대여하고 많은 조직에서 npm을 사용하여 비공개 개발도 관리합니다.

npm은 세 가지 고유한 구성 요소로 구성됩니다.
  • 웹 사이트
    2. 명령줄 인터페이스(CLI)
    3. 레지스트리

  • Yarn and pnpm are alternatives to npm cli. You can check them out as well.



    npm은 프로젝트의 종속성 다운로드를 관리합니다.

    모든 종속성 설치
    프로젝트에 package.json 파일이 있는 경우 다음을 실행하여

    npm install
    


    단일 패키지 설치npm install <package-name>

    Furthermore, since npm 5, this command adds to the package.json file dependencies. Before version 5, you needed to add the flag --save.



    1.save-dev는 package.json 파일 devDependencies에 항목을 설치하고 추가합니다.
    2.no-save는 설치하지만 package.json 파일 종속 항목에 항목을 추가하지 않습니다.
    3.save-optional은 package.json 파일 optionalDependencies에 항목을 설치하고 추가합니다.
    4.no-optional은 선택적 종속성이 설치되지 않도록 합니다.

    플래그의 약어를 사용할 수도 있습니다.
  • S: --저장
  • D: --save-dev
  • O: --저장 옵션

  • The difference between devDependencies and dependencies is that the former contains development tools, like a testing library, while the latter is bundled with the app in production.



    npm은 패키지를 어디에 설치합니까?
    npm을 사용하여 패키지를 설치할 때 다음 두 가지 유형의 설치를 수행할 수 있습니다.
  • 로컬 설치
  • 전역 설치
    기본적으로 다음과 같이 npm install 명령을 입력하면

  • npm install lodash
    
    


    패키지는 node_modules 하위 폴더 아래의 현재 파일 트리에 설치됩니다.
    이 경우 npm은 현재 폴더에 있는 package.json 파일의 종속성 속성에 lodash 항목도 추가합니다.

    전역 설치는 -g 플래그를 사용하여 수행됩니다.
    npm install -g lodash
    이 경우 npm은 로컬 폴더 아래에 패키지를 설치하지 않고 대신 전역 위치를 사용합니다.

    정확히 어디에?

    npm root -g 명령은 컴퓨터에서 정확한 위치를 알려줍니다.

    package.json 가이드

    종속성
    종속성으로 설치된 npm 패키지 목록을 설정합니다.

    devDependencies

    개발 종속성으로 설치된 npm 패키지 목록을 설정합니다.

    They differ from dependencies because they are meant to be installed only on a development machine, not needed to run the code in production.



    패키지-lock.json 파일
    package-lock.json 파일의 목표는 설치된 모든 패키지의 정확한 버전을 추적하여 관리자가 패키지를 업데이트하더라도 동일한 방식으로 제품을 100% 재현할 수 있도록 하는 것입니다.

    This solves a very specific problem that package.json left unsolved. In package.json you can set which versions you ca



    accepts,"array-flatten","body-parser","content-disposition에 의존하는 express를 설치했으며 이러한 패키지에는 다른 패키지가 필요합니다.

    간단히 말해서 패키지를 설치하면 해당 패키지가 차례로 다른 패키지를 요구하므로 해당 패키지는 package-lock.json에 저장됩니다.

    좋은 웹페이지 즐겨찾기