#2.0 Your First NodeJS Project
git init → git remote add origin ~ → npm init
#2.1 Installing Express
npm run “script’s name” → scripts에 적어놓은 내용 실행
npm i “package name” → node_module, package_lock 생성
node_module → 설치하기 원했던 모듈을 사용하기 위해 필요한(그래서 설치된) 다른 모듈들도 같이 있음. (package.json의 dependencies에서 확인 가능, chain처럼 연결되어 있다!)
원래 있었던 package.json에도 dependencies가 추가된다!

#2.2 Understanding Dependencies
그냥 npm install(npm i)만 입력하면?
→ npm에서 기존의 package.json을 읽어서 dependencies에 있는 module을 알아서 설치해준다.
장점 : 내 프로젝트를 올릴 때 굳이 필요한 모듈들을 모두 올릴 필요는 없다. package.json에만 잘 표시해주면 npm i로 전부 다운받을 수 있으니!
package-lock.json
→ 특정 모듈의 버전을 관리. 이 파일에 작성된 버전으로 모듈이 다운돼서 호환성을 유지할 수 있음.
.gitignore
→ git에 올릴 때 올리지 않을 파일을 지정
ex) /node_modules
#2.3 The Tower of Babel
Babel → nodeJs가 이해하지 못하는 최신 자바스크립트를 이해할 수 있는 코드로 컴파일해줌.
따라서 nodeJs를 node가 아닌 babel-node로 돌리게 된다.
npm install —save-dev
@babel/core
→ devDependencies에 모듈 추가
dependencies
→ 프로젝트를 위해 필요한 모듈 (자동차의 기름)
devDependencies
→ 개발자를 위해 필요한 모듈 (자동차에서 음악 틀기)
둘 다 node_modules에 설치는 됨.
Babel이 알아서 Babel.config.json을 열어서 확인할 것임.
preset-env → 자바스크립트를 사용하기 위한 플러그인. (for react, for typescript도 따로 있음)
설치 : npm install @babel/preset-env —save-dev
#2.4 Nodemon
package.json에 babel로 컴파일하는 script를 만들어주자.
먼저, npm i @babel/node --save-dev

nodemon
→ 우리의 파일(index.js)이 바뀌는 것을 자동으로 확인해줌.
(npm i nodemon —save-dev
)


코드를 수정할 때마다 귀찮게 npm run dev를 치지 않아도 된다!!
** 본 글은 노마드 코더의 ‘유튜브 클론코딩’ 강의를 참조하여 작성하였습니다. **