MERN - 간단한 서버 만들기

bkboy·2022년 7월 21일
1

웹 개발

목록 보기
21/26
post-thumbnail

MERN Stack

MongoDB : NoSQL(Not Only SQL) DB Solution
Express.js : Node.js Framework
React.js : JavaScript Library (Browser-side/Frontend JavaScript)
Node.js : JavaScript Runtime (Server-side JavaScript)

javascript와 관련된 4가지 기술을 이용해 웹 사이트를 개발하는 것이다. MongoDB는 JS 문법을 사용한다.

Node.js

❝ Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. ❞

풀어서 설명하면 Node.js는 Chrome V8(오픈 소스 자바스크립트 엔진)을 이용하여 javascript로 브라우저가 아닌 서버를 구축하고, 서버에서 javascript가 작동되도록 해주는 런타임 환경이다.

Express

❝ Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크입니다. ❞

쉽게 말해 Express는 Node.js의 원칙과 방법을 이용하여 웹 애플리케이션을 만들기 위한 프레임워크이다. 표준 웹서버 프레임워크로 불려질 만큼 많은 곳에서 사용되고 있다.

Express에는 웹 애플리케이션을 만들기 위한 각종 라이브러리와 미들웨어 등이 내장돼 있어 개발하기 편하고, 발 규칙을 강제하여 코드 및 구조의 통일성을 향상시킬 수 있다.

Express 설치

$ npm init

프로젝트 시작시 기본 설정을 하는 명령어이다. 애플리케이션의 이름과 버전 등 여러가지 정보를 설정 할 수 있다. 시작 점은 index.js로 하면된다.

$ npm install express --save

express를 설치하는 명령어이다. --save를 추가하면 package.json의 dependencies에 추가가 된다. 이것은 프로젝트를 공유할 때 다른 사람에게 넘기고
npm install
만 해주면 모든 모듈을 다운 받을 수 있기에 협업에 큰 도움이 된다.

간단한 서버 생성하기

const express = require('express')
const app = express()
const port = 5000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

5000번 포트에 간단한 서버를 띄운 코드이다.
express를 require 해서 사용한다.

app.get 부분은 라우팅을 하는 코드이다. 라우팅이란 애플리케이션의 엔드 포인트의 정의하고 클라이언트의 요청에 응답하는 방식을 말한다.엔드포인트가 "/"인 곳으로 요청(req)을 보내면 'Hello World!" 라는 응답(res)을 보낸는 것이다.

라우트 메소드

라우트 메소드는 HTTP 메소드 중 하나로부터 파생되며, express 클래스의 인스턴스에 연결된다.

앞으로 MERN 스팩을 이용해 Boiler plate를 만들 것인데 사용할때 관련 메서드를 정리하려고 한다.

명령어

서버를 실행하면

node index.js 

이 명령어를 사용하면 된다. 더 쉽게 할 수 있는 방법이있다.

"scripts": {
    "start": "node index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

package.js의 script에 저렇게 추가를 하면 다음 부턴

npm run start

이 명령어로 서버를 실행할 수 있다. 자신에게 맞는 커스텀이 가능하다.

참고

profile
음악하는 개발자

0개의 댓글