노마드 코더/유튜브 클론

[JavaScript, Node.js] 유튜브 클론 정리 2장 (2) - dependencies

LooanCheong 2023. 4. 6. 00:13
반응형

머리글

이번 시간에는 package.json에 있는 dependencies와 devDependencies에 대해서 알아보겠다.

dependencies?

우선 이전에 설치되었던 node_modules 파일과 package-lock.json 파일을 삭제해 보자.

그리고 터미널에 명령어를 입력한다.

npm i

이전과는 다르게 그냥 install만 입력했다.
이렇게 입력을 하면 삭제했던 두 파일이 다시 생겨난다.

그 이유는 바로 package.json 파일에 dependencies 항목에 있다.
package.json 파일은 license나 author 등의 정보도 담고 있지만,
프로젝트를 동작하기 위한 필요 모듈도 담고 있다.
그게 바로 dependencies 항목이다.

유튜브 클론의 dependencies

프로젝트를 혼자 개발하는 경우 크게 상관없겠지만,
팀 단위로 개발을 한다면 모듈의 버전도 신경을 써서 사용해야 한다.
특정 버전에서는 호환이 안 되는 경우도 많으니까 이런 경우를 신경 써야 하는데,
그렇다고 일일이 node_modules 파일을 github에 업로드하기엔 용량이 상당하다.

그래서 dependencies에 있는 정보를 npm이 자동으로 읽어서 알맞은 버전의 모듈을 설치해 주는 역할을 한다.

package-lock.json?

패키지를 관리해 주는 파일이다.
패키지의 수정 여부를 해시값으로 체크한다.

npm i 할 때, 이 파일도 참고한다고 한다.

package.json

주의 사항

npm i 명령어를 실행할 때는 package.json 파일을 닫고 실행해 주자.
모듈이 설치되면서 파일에 변동이 생기는데 켜놓게 된다면 변동사항이 저장이 안 되는 경우가 있어 충돌이 생길 수 있다.

마무리

이번 시간에는 package.json 파일의 dependencies의 역할과 package-lock.json 파일의 역할에 대해서 알아봤다.

다음 시간에는 babel과 nodemon에 대해서 알아보도록 하겠다.

반응형