Express 란?

이도형·2024년 5월 5일
0

Web 기본개념📶

목록 보기
4/10

Express 너 누구야?! Who are you??!!

JavaScript로 BackEnd를 구현하기 위해서는,
지난번에 알아본 Node.js 뿐만 아니라,
Express도 알아야합니다.
이에 대해 자세히 알아보겠습니다.


1) Express의 개념

Express는 자신들의 개념을 사이트에 정리해 놓았습니다.

Express 공식 홈페이지

이를 정리하면 다음과 같습니다.

Node.js의 웹 프레임워크
편한 라우팅 ▶ 간단하게 서버 구동 가능
라이브러리미들웨어 제공 ▶ 웹 애플리케이션 제작

*웹 프레임워크 : 웹 서버를 구현하기 위해 만들어진 프레임워크
*프레임워크 : 필요해보이는 것들을 미리 다 틀 안에 넣어둔 구조
*라우팅 : 여러 네트워크 안에서 경로를 선택하는 프로세스
*라이브러리 : 개발할 때 사용하는 자료 모음
*미들웨어 : 서로 다른 애플리케이션의 통신을 위해 사용되는 소프트웨어

2) Express의 특징

Express를 제외하고도 Node.js에는 다양한 프레임워크가 있습니다.
그럼에도 Express는 아래와 같은 특징 덕분에 자주 사용되고 있습니다.

1. 높은 점유율

출처 : State of JS 2021

다음은 백엔드 관련 프레임워크 점유율입니다.
이 중, Express는 가장 높은 점유율을 가지고 있고,
이로 인해 많은 커뮤니티가 활성화 되어있고,
빠르고 편하게 자료를 찾아볼 수 있습니다.

2. 통일성
Node.js 개발자들에 개발 규칙과 코드 및 구조의 통일성을 높일 수 있습니다.

3. 가벼움
가볍게 웹 서버를 구현할 수 있습니다.

기본 작동 코드를 보자면 다음과 같습니다.

const express = require("express"); // 외부 모듈 'express' 호출
const app = express();  // express를 호출하여 app에 담아준다

// "/" -> http://localhost:3000/
// req (request) : 요청이 날라올 때
// res (response) : 대답 할 때
app.get("/", function (req, res) {
  res.send("Hello World");
});

app.listen(3000); // port 번호 3000으로 설정

이러한 코드만으로도 localhost:3000에 서버 동작이 가능합니다.


3) 설치 및 실행

Express의 설치 방법은 간단합니다.
설치 : npm i express

const express = require("express");
const app = express();

// GET + "/"
app.get("/", function (req, res) {
  res.send("Hello World");
});

// API : GET + "http://localhost:1004/lee"
// "Hi, I am Lee"
app.get("/lee", function (req, res) {
  res.send("Hi, I am Lee");
});

// API : GET + "http://localhost:1004/lee/1"
// "One"
app.get("/lee/1", function (req, res) {
  res.send("One");
});

app.listen(1004);

이 때 해당 파일이 app.js라면 다음과 같이 실행이 가능합니다.
실행 : node app.js

그럼 아래와 같은 결과가 나옵니다.


4) Express 애플리케이션 생성기

Express의 골격을 작성하기 위한 도구이며,
다음과 같이 생성이 가능합니다.
설치 : npm install express-generator -g
공식 홈페이지

디렉토리는 다음과 같습니다

실행 방법 : npm start

그 외 Express 생성기의 코드에 대한 간단한 설명은
다음 Notion 문서에 정리되어 있습니다.


글을 마치며

Express라는 개념이 처음에는 어렵고,
여러 자료를 찾아보면서 Web 관련 프레임워크에는
Node.js와 Express를 동시에 표기해 놓은 경우가 많아 헷갈렸습니다.
둘 다 JavaScript를 통해 작성되는 프레임워크지만,
Express는 Node.js를 더욱 간편하게 해주는 것이라는 알게 되었습니다.
웹에 대하여 더욱 자세히 공부하고,
React 역시 공부할 수 있는 계기를 만들고 싶습니다.

Express : Node.js와는 다른듯 같은듯 하지만
Node.js를 더욱 간결하게 가볍게
서버를 만들어주는 중요한 프레임워크💡

profile
열심히 살고 싶습니다! 일하고 싶습니다 :)

0개의 댓글

관련 채용 정보