2021. 2. 15. 17:32ㆍProjects/유튜브 클론코딩
[2.0] What is a Server
1. 물리적으로 늘 켜져있는 컴퓨터
2. 인터넷에 연결된 접속 요청에 응답하는 컴퓨터
- 서버란 접속을 받아주는 무언가이다.
[2.1] What is Express
Express란 무엇인가?
- Express.js는 node.js에서 작동하는 프레임워크이다.
- 즉, 휼륭한 사람들이 미리 만들어놔서 우리가 원하는 걸 쉽고 빠르게 해낼 수 있게 만들어둔 것을 말한다.
- 우리의 목표가 node.js로 서버를 만드는 거라면 수작업으로 좀 해줄게 있다.
- 우리의 목표가 node.js로 서버를 만드는거라면 Express를 이용할 수 있다.
- Express를 사용하는 이유: 매우 유명하고 매우 안정적, 새로운 버전이 자주 나오지 않기 때문에 더 할게 별로 없음
[2.2] Installing Express with NPM
Express 설치방법
visual studio code에서 우리의 프로젝트 폴더를 만들고 index.js라는 파일을 추가한다. 그리고 콘솔을 열어서(Ctrl+`)
node index.js라고 치면 콘솔창에서 실행이 되는 것을 볼 수가 있다.
이제 나만의 서버를 만들고 싶은데 이 서버는 express로 만들 것이다.
그럼 express를 어떻게 설치할까? NPM을 이용한다.
NPM
- Node Package Manager
- NPM이 없다면 : 세상에 매우 똑똑한 사람들이 예를 들면 express 같은 걸 만들어서, 이렇게 좋은 것을 공유하고 사용하고 싶은데 NPM이 없다면 웹사이트에 있는 다운로드 링크를 통해 다운받고 파일을 복사해서 프로젝트 디렉토리에 붙여넣어서 express를 update 한다. 그런데 버전이 4.16에서 4.18이 되면 또 다운로드해서 붙여넣고 파일을 교체해야 하고, 만약 내가 이 프로젝트를 내 친구와 공유한다면 그럴 때마다 내가 코드를 upload 하고 싶다면 express의 코드도 upload를 해줘야 한다. 만약 다른 것들도 설치했다면 그럴 때마다 모든 코드를 upload해야 한다. → 좋은 방법이 아님
- NPM이 있다면 편리하게 가능함
NPM 사용 방법
- node.js를 설치하면 npm이 같이 딸려온다.
- npm으로 프로젝트를 시작하려면(package manager로 npm을 사용하려면) npm이 정한 방식으로 프로젝트를 시작해야 함
- visual studio code에서 콘솔에서 npm init 라고 친다.
- 암튼 다 하고나면 package.json 파일이 생성된다. 여기서 일단, scripts 부분은 지운다.
- json은 자바스크립트에서 정보를 담는 방식일 뿐이다.
본격적으로 Express 설치
- 우리는 아무튼 이렇게 package를 저장하기로 한다. 이제 express를 설치해본다. npm을 실행할 때는 꼭 프로젝트 폴더에 package.json이 있는 폴더에서 실행해야만 한다.
- 콘솔창에 npm install express 라고 입력하여 express를 설치한다.
- 그렇게 되면 2개가 생성되는데, package-lock.json(이건 신경쓰지말고)이랑 node_modules (우리가 NPM을 이용해서 다운 받은 것, 하나도 신경쓰지 않아도 된다)
- 그리고 package.json을 보면 dependencies라는게 추가된 것을 볼 수 있다. 우리의 경우 "express": "^4.17.1" << 이렇게 있다.
- package.json을 갖는 건 엄청 좋은 것이다. 만약 친구랑 이 프로젝트를 협업하고 싶다면 node_modules 폴더를 다 건내줄 필요가 없이 index.js, package.json 파일만 건네주고 콘솔에서 npm install 이라고 치면 그럼 자동으로 dependencies를 찾아서 다운로드하게 되기 때문이다.
'Projects > 유튜브 클론코딩' 카테고리의 다른 글
[유튜브 클론코딩] 2.7 Express Core: Middlewares part. 2 (0) | 2021.02.15 |
---|---|
[유튜브 클론코딩] 2.6 Express Core: Middlewares (0) | 2021.02.15 |
[유튜브 클론코딩] 2.5 ES6 on NodeJS using Babel (0) | 2021.02.15 |
[유튜브 클론코딩] 2.4 Handling Routes with Express (0) | 2021.02.15 |
[유튜브 클론코딩] 2.3 Your First Express Server (0) | 2021.02.15 |