728x90
✅ 1. Express 란?
Express는 Node.js 환경에 동작하는 가장 인기있는 프레임워크 중 하나로, 웹 어플리케이션 및 API 서버를 더욱 쉽고 빠르게 만들 수 있는 라이브러리로 Node.js가 엔진이라면, Express는 Node.js 엔진 위에 있는 웹 서버 자체를 쉽고 빠르게 올려주는 웹 프레임워크라고 할 수 있습니다.
✅ 2. Express 특징
- 간결함: 최소한의 코드로 웹 서버 구축
- 강력한 라우팅(Routing): URL 요청이 오면 어디로 보낼 것 인지, 어떤 함수가 처리할 지를 정확하게 정해주며, HTTP 메서드 (GET, POST 등)별 처리까지 언급해줌
- 미들웨어 (Middleware) 시스템: 요청이 들어오고 응답이 나가기 전까지, 중간에 끼어들어 모든 것을 통제함
- 템플릿 엔진 지원: HTML 페이지까지 렌더링할 수 있음
- RESTful API 구축 최적화: API 서버를 만드는 데 적절한 기능이 존재해 깔끔하고 효율적인 API 구축
✅ 3. 장단점
- 장점
- 배우기 쉽고 문서가 풍부: 가파른 학습 곡선이 없이 배우기 쉬움
- 유연성: 미들웨어를 사용해 기능을 확장할 수 있어 커스터마이징이 무궁무진하다는 점을 어필
- 거대한 커뮤니티와 생태계: Stack Overflow, npm등 다양한 커뮤니티에서 활발함
- 서버 구축: Restful API를 통한 개발 시 서버 구축에 최적화
- 단점
- 까다로운 구조: 대규모 프로젝트 개발 시 구조 설계가 필요함
- 많은 패키지 설치: 내장 기능이 적어 추가적인 패키지를 설치해야함
- 에러 핸들링: 미들웨어 체인에서 에러 처리가 복잡함
- 타입 지원 부족: 타입 지원이 약해 대형 프로젝트에서는 TypeScript를 함께 사용 권장
✅ 4. 사용 예시
- 블로그, 게시판 등 간단 웹 사이트
- RESTful API 서버 (모바일/웹 백엔드)
- 실시간 채팅 서버 (Socket.io)
- 쇼핑몰, 포트폴리오 사이트 등
✅ 5. 설치법
1️⃣ Node.js 설치
- Node.js 공식 사이트에서 Node.js 설치
2️⃣ 프로젝트 폴더 생성 및 초기화
아래 코드를 통한 프로젝트 폴더에 들어가 cmd 창을 열고 다음 명령어를 입력합니다.
mkdir my-express-app
cd my-express-app
npm init -y
3️⃣ Express 설치
npm install express & yarn add express
4️⃣ app.js 파일 생성후 기본 서버 코드 생성
프로젝트 폴더내에 app.js를 생성하고 다음 코드로 기본적인 express 서버를 생성합니다.
const express = require("express"); // 익스프레스 모듈 가져옴
const app = express(); // 익스프레스 객체 생성
const port = 3000; // 포트 번호 설정
// 서버 포트 설정
app.get("/", (req, res) => {
// 루트 경로에 대한 GET 요청 처리
res.send("Hello, Express!"); // 문자열 전송
});
// 서버를 3000번 포트에 적용
app.listen(port, () => {
console.log(`Server is running on ${port}`);
});
다음 명령어로 서버를 실행합니다.
node app.js
http://localhost:3000에 접속해 "Hello, Express!" 메시지가 뜨는지 확인해봅니다.
GitHub - Koras02/express-bloging: https://thinky.tistory.com/category/Back-End/Express
https://thinky.tistory.com/category/Back-End/Express - Koras02/express-bloging
github.com
728x90
LIST
'Back-End > Express' 카테고리의 다른 글
[Express] 4장 정적 파일 제공 (3) | 2025.08.16 |
---|---|
[Express] 3장 - 미들웨어 적용 (1) | 2025.08.13 |
[Express] 2장 - 라우팅 구현 (4) | 2025.08.11 |