Express 프레임워크와 dependencies 개념에 대해 배워보자.
express란 NodeJS를 사용하여 쉽게 서버를 구성할 수 있게 만든 클래스와 라이브러리의 집합체(프레임워크)
간단히 말해서, Node.js 에서 사용할 서버 설치라고 생각하면 되겠다.
npm i express
‼️ 반드시 열려있는 창(특히 package.json)들 끄거나 마지막 저장 후 변동이 없는 상태에서 진행해야 한다. 🌟
npm 이 package.json 의 dependencies 를 수정하기 때문에 그렇지 않으면 버전 충돌이 일어날 수 있다고 한다.
두 가지 파일이 생성된 걸 볼 수 있다.
1) package-lock.json 파일 🌟
: node-modules 에 설치된 모든 패키지들을 안전하게(locked) 관리해주는 관리자 역할. 패키지의 버전 등이 수정됐을 시 체크해서 반영해주어, 다른 파일 공유자들도 모듈을 전부 같은 버전으로 다운 받게 버전을 고정시켜(locked) 버리는 것이다.
2) node-modules 폴더 🌟
: express 설치 시 다운된 모든 dependencies 패키지들이 있는 저장소 역할.
npm i 는 package.json 파일 안에 있는 모든 dependencies 를 설치한다. 🌟
touch .gitignore 로 만든 파일에 /node_modules 를 추가해 해당 패키지들은 github에 올라가지 않도록 하자. 🌟
(► 용량 문제, 어차피 package.json 의 dependencies 와 package-lock.json 에 적힌 버전 정보 덕에 공유받고자 하는 동료가 해당 모듈을 다운받지 않아도, npm i 만하면 자동으로 필요한 패키지들이 설치된다.)