JavaScript
npm & package.json에 대해서
citron031
2022. 11. 26. 16:01
package.json은 프로젝트에 대한 정보를 가지고 있다.
이를 통해서 협업할 때 같은 버전의 모듈들로 프로젝트를 함께 진행한다.
이것으로 협업때 다른 모듈 버전을 사용함으로써 생길 오류를 방지한다.
- 우리들은 선배들이 먼저 만들어 놓은 모듈을 사용하여 빠르고 검증된 라이브러리를 사용할 수 있다.
- node.js에서 외부 라이브러리를 받는 가장 대표적인 방법이 npm(Node Package Manager)를 사용하는 것이다.
- 그리고 프로그램이 실행되기 위해서 어떤 패키지가 필요한지 적어둔 것이 바로 package.json이라고 할 수 있다.
package.json에는 여러 속성이 있다.
- name, version, desciption은 프로그램의 정보를 담고 있다.
- scripts를 통해서 CLI에서 사용 가능한 명령어들을 설정해 둘 수 있다.
이렇게 설정한 명령어는, npm run 설정한명령어 를 통해서 사용한다. - dependencies는 프로그램이 제대로 실행되기 위해서 꼭 필요한 모듈들에 대해서 적어놓은 것이다.
- devDependencies는 이 프로그램의 개발을 위해서 사용된 모듈들을 적어놓은 것이다.
이는 프로그램의 동작과는 직접적인 관계가 없는 모듈들이다.
🍏 npm install을 실행하면 package.json의 의존성을 보고 자동으로 모든 모듈을 설치한다.
🍇 npm install 모듈명으로 해당 모듈을 설치할 수 있고,
npm install --save 모듈명을 통해서 설치하면, 자동으로 해당 모듈이 dependencies에 등록된다.
🧉 최신버전의 npm을 사용중이라면, --save옵션이 없어도 자동으로 dependencies에 등록된다. - package-lock.json으로 더 정교하게 모듈의 버전을 기술하여 오류를 방지한다.
npm install이 실행되면 그 당시에 사용된 모듈들의 버전의 기록을 가지고 만들어지며, 이를 통해서 완전히 같은 의존성을 보장한다.
🧉 npm i 를 통해서도 모듈을 설치할 수 있다.