개인공부/TIL(Today I Learned)

TIL 38일차_package.json

soon327 2021. 2. 25. 01:40

package.json은 뭐야

그동안 과제를 하다보면 보이는 package.json이 정확히 무엇인지 알았다.🙃
package.json에는 프로젝트(패키지) 전반에 관한 정보가 들어있다.

node.js에서 남이 만들어 놓은 모듈을 npm모듈이라고 하며,
npm모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일이 package.json이다.

간단하게,
전자제품을 보러 갔을 때, 제품 카탈로그가 package.json이라고 할 수 있다.
카탈로그로 어떤 제품이 있는지 알 수 있는 것처럼
package.json만 보면 어떤 모듈이 들어가 있는지를 알 수 있다.

그럼 package.json을 보고 뭘 해야하지?

주의할 점은, package.json은 어떤 모듈인지만 적혀 있을 뿐이고
프로그램을 실행시키기 위해 필요한 실제 모듈은 따로 node_modules라는 폴더에 저장된다는 것이다.

package.json이 우리에게 주는 메세지는 다음과 같다.
" 필요한 모듈을 여기 적어놨으니 네가 직접 다운받아서 쓰도록 해! "

따라서 package.json에서 필요하다고 하는 모듈을
npm install 명령어를 사용하여 다운받는다.
install이 완료되면 node_modules 디렉토리가 생긴 것을 확인할 수 있다.

Dependencies 항목에 대해서

dependencies에서 , 키에 적힌 것은 모듈 이름이고, 값은 버전을 의미한다.

dependencies에는 실행과 관련있는 모듈들이 적혀있고,
devDependecies에는 개발하는 환경에서 필요한 모듈들이 적혀있다.

위의 사진에서 node-sass모듈은 실행에 필요하고,
npm-run-all모듈은 개발에 필요하다고 명시되어있다.
사실, node-sass도 devDependecies에 있어야 할 것 같은데, 잘못 설치했던 것 같다. 😅

모듈을 설치할 때, dependencies에 추가하고 싶으면 npm install 모듈명를,
devDependecies에 추가하고 싶으면 npm install 모듈명 --save-dev처럼
--save-dev옵션을 추가해주면 된다.

scripts 항목에 대해서

scripts항목에서는 CLI에서 사용가능한 명령을 기술한다.
npm run 스크립트이름으로 실행한다.

'개인공부 > TIL(Today I Learned)' 카테고리의 다른 글

TIL 40일차_ 객체지향프로그래밍(OOP)  (0) 2021.02.27
TIL 39일차_모듈과 CommonJS  (0) 2021.02.26
TIL 37일차_CLASS  (0) 2021.02.24
TIL 36일차_Github  (0) 2021.02.23
TIL 35일차_new연산자와 생성자 함수  (0) 2021.02.22