Express 너 누구야?! Who are you??!!
JavaScript로 BackEnd를 구현하기 위해서는,
위 지난번에 알아본 Node.js 뿐만 아니라,
Express도 알아야합니다.
이에 대해 자세히 알아보겠습니다.
Express는 자신들의 개념을 사이트에 정리해 놓았습니다.
이를 정리하면 다음과 같습니다.
*웹 프레임워크 : 웹 서버를 구현하기 위해 만들어진 프레임워크Node.js의 웹 프레임워크
편한 라우팅 ▶ 간단하게 서버 구동 가능
라이브러리와 미들웨어 제공 ▶ 웹 애플리케이션 제작
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
에 서버 동작이 가능합니다.
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
그럼 아래와 같은 결과가 나옵니다.
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를 더욱 간결하게 가볍게
서버를 만들어주는 중요한 프레임워크💡