공부/AngularEssentials

package.json과 의존성 관리

사탕공방 2018. 11. 14. 22:24
  • Node.js 프로젝트에서는 많은 패키지를 사용하게 되고 패키지의 버전도 빈번하게 업데이트 된다.
  • 따라서 프로젝트가 의존하고 있는 패키지를 일괄적으로 관리할 필요가 있다.
  • npm은 package.json 파일을 통해서 프로젝트 정보와 패키지의 의존성을 관리한다.
  • 이미 작성된 package.json 파일이 있다면 팀 내에 배포하여 동일한 개발환경을 빠르게 구축할 수있다. ( 좋다. )
  • Java의 maven에서 pom.xml과 비슷한 역할을 한다. ( 자바를 안써서 모르겠다. . . )
  • package.json을 생성하려면 프로젝트 루트에서 npm init 명령을 실행한다.
    • 이때 여러가지 정보를 입력하도록 요구하는데 이 정보를 바탕으로 package.json 파일을 생성한다.
    • 기본 설정값으로 설정된 package.json 파일을 수정하는 방법이 더 편리할 수 있으므로 다음과 같이 명령을 수정한다.
      • npm init -y
  • package.json에서 가장 중요한 항목은 name과 version이다. ( 이것으로 package의 고유성을 판단하므로 생략 불가 )
  • dependencies 항목에는 해당 프로젝트가 의존하는 패키지들의 이름과 버전을 명시한다.
  • 의존하는 패키지란 해당 프로젝트에서 참조하는 모듈을 의미한다.
  • 프로젝트 진행시 이미 만들어진 여러 패키지를 참조해서 사용하는데 이때 package.json 파일의 dependencies 항목에 해당 패키지의 이름과 버전을 명시함으로써 의존성을 설정한다.
  • npm install 명령어에 -s 옵션을 사용하면 패키지 설치와 함께 package.json의 dependencies에 설치된 패키지 이름과 버전이 기록된다. ( npm@5부터 --save는 기본 옵션이 되었다. )
    • npm install <package> --save
  • devDependencies에는 개발 단계에서만 사용하는 개발용 의존 패키지를 명시한다.
    • Ex] TypeScript와 같은 트랜스파일러는 개발 단계에서만 필요하고 배포할 필요가 없으므로 여기에 포함.
    • npm install <package> --save-dev
  • 모든 의존 패키지를 한번에 설치하는 명령
    • npm install



Angular Essentials 이웅모 저