본문 바로가기

Youtube Clone Coding

기본적인 Setups

1. package.json

JSON 형식으로 구성된 텍스트 파일의 느낌. 이름은 반드시 "package.json" 이어야만 한다. 이 파일에는 해당 프로젝트의 여러 정보가 들어간다. 프로젝트 이름, 버전, 설명 등등....

 

"scripts" 에는 내가 실행하고 싶은 명령어의 shortcut을 저장한다고 생각하면 될것 같다. 예를들어 서버를 키고 싶을 때 마다 'nodemon server.js' 를 입력하는 번거로움보다는 (사실 번거롭지 않을 수 있지만 파일이름이 길어질 수 있고 babel-node 를 사용할 수 있으므로..) 

"scripts": {
    "dev": "nodemon --exec babel-node src/server.js"
  },

으로 써 둔다면 서버를 실행 시킬때 npm run start 만 치면 저 명령어가 실행된다.

 

"dependencies" 에는 우리가 프로젝트를 진행 할때 필요한 패키지들을 정리해둔 공간이다. 이 부분에 필요한 패키지들을 써둔다면 다른 사람들이 package.json 을 받아 터미널에 npm install 만 치게 돼도 자동으로 필요한 패키지들이 다운로드 된다.

"dependencies": {
    "express": "^4.18.2"
  },

이런식 이라면 package.json 파일을 받는 누군가가 직접 express를 설치하지 않고 npm install 만 쳐도 설치할 수 있다.

 

이와는 조금은 다른 "devDependencies" 에는 개발자들이 필요한 도구(?) 들을 정리 해둔 공간이다. 예를들어 nodemon 이나 babel 등과 같이 필수적이지는 않지만 있으면 편리하게 사용할 수 있는 패키지들을 정리한 공간이다. developer-dependencies 를 줄여 썼다고 생각하면 된다.

 

2. node_modules

위에서 설치했던 express라던가, babel 등의 패키지는 모두 node_modules 파일에 다운로드 된다. 이 파일의 크기는 매우 커질 수 있으므로, 깃에는 직접 올리지않고 .gitignore 에 node_modules 를 써두고, package.json 파일만 넘겨준뒤  npm install 만 하게 하면 자동으로 node_modules 가 다운로드 된다.

'Youtube Clone Coding' 카테고리의 다른 글

Routers  (0) 2022.10.31
Morgan (middleware)  (0) 2022.10.31
Middlewares  (0) 2022.10.30
Controllers  (0) 2022.10.30
Server  (0) 2022.10.30