공부/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 이웅모 저