프로젝트 시작

jini.choi·2022년 6월 7일
0

유튜브 클론코딩

목록 보기
4/27

프로젝트 시작

1. git init

2. github에 Repository 생성 및 URL 복사

3. 원격저장소에 추가
git remote add origin https://github.com/jjinichoi/wetube-reloaded

4. npm init

5. 아래처럼 물어보는 것에 답하면 package.json 생성이 완료된다.
-package.json은 node.js 관련정보를 담는 방법

{
  "name": "wetube",
  "version": "1.0.0",
  "description": "The best way to watch a videos.",
  "main": "index.js", //프로젝트의 메인파일
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jjinichoi/wetube-reloaded.git"
  },
  "author": "Jini",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/jjinichoi/wetube-reloaded/issues"
  },
  "homepage": "https://github.com/jjinichoi/wetube-reloaded#readme"
}

6. package.json 안에 main은 내가 만들고 배포한 package를 다른 사람들이 설치하면 main을 사용한다(이번 프로젝트에서는 필요없어서 json에서 지움)

7. 프로젝트의 메인 파일인 index.js를 생성한다.


index.js 실행

1. package.json에 script추가(script는 실행하고 싶은것을 말함)

{
  "name": "wetube",
  "version": "1.0.0",
  "description": "The best way to watch a videos.",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jjinichoi/wetube-reloaded.git"
  },
  "scripts": {
    "win": "node index.js"
  },
  "author": "Jini",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/jjinichoi/wetube-reloaded/issues"
  },
  "homepage": "https://github.com/jjinichoi/wetube-reloaded#readme"
}

2. 터미널에 프로젝트 폴더 안에 npm run win 명령어 실행


express 패키지 설치

❗ 패키지 설치 전(npm install) 할 때 package.json를 닫거나 저장 후 설치(안그럼 버전 충돌 일어남)

1. express 패키지 설치

2. 패키지를 설치하면 node_modules에는 npm으로 설치한 모든 패키지가 저장된다.

3. node_modules 설치된 express폴더에 package.json에서 dependencies는 express가 작동되려면 필요한 패키지들이 나열되어있고 필요한 패키지를 열면 계속 dependencies로 체인처럼 연결되어있는 것을 알 수 있다.

4. npm i express를 하면 express를 설치하는데 의존하고 있는 패키지가 있기 때문에 그것들도 같이 설치 해준다. 그런데 express가 의존하고 있는 패키지들도 다른 것들에 의존하기 때문에 많은 것들이 설치되는 것이다. 이 모드 과정은 npm이 알아서 해줌

5. 처음에 만든 package.json을 다시 보면 dependencies이 추가되어 있음

6. 처음부터 package.json안에 5번이 입력되어있다면, npm패키지 설치 시 npm i express 처럼 일일히 다운 받지 않고 npm i 만 명령 하더라도, npm이 package.json을 보고 필요한 것만 설치를 한다,

7. 해당 기능은 다른 사람에게 패키지를 보낼때나 깃허브에 올릴때 node_modules를 올리지 않고.
package.json, index.js, package-lock.json만 올리면
세개만 받은 후 npm i 명령만 하면 해당 프로젝트에 사용된 버전 그대로 패키지를 다운 받을 수 있는 기능을 하기도 한다.

package-lock.json은 패키지들이 수정 됐는지 해시값으로 체크 해주고 안전하게 관리해준다.

8. node_modules 폴더가 깃허브에 올라가지 않게 숨기기

  • .gitignore 파일 생성 후 /node_modules 입력
profile
개발짜🏃‍♀️

0개의 댓글