본문 바로가기

Back-End/Express.js

Express.js #1 (소개 및 개요)

반응형

 

1. 핵심 기능

기능 설명 장점
라우팅 URL 경로와 HTTP 메서드에 따른 요청 처리 직관적이고 유연한 URL 구조 설계 가능
미들웨어 요청-응답 사이클에서 실행되는 함수들 재사용 가능한 코드 작성, 모듈화
템플릿 엔진 동적 HTML 생성 (EJS, Pug, Handlebars 등) 서버 사이드 렌더링 지원
정적 파일 제공 CSS, JS, 이미지 등 정적 파일 서빙 웹 애플리케이션 자원 관리 용이
에러 핸들링 에러 처리 미들웨어를 통한 중앙 집중식 에러 관리 일관된 에러 처리 및 디버깅

 

2. 특징

특징 설명 장점
경량성 최소한의 기능만 제공하는 미니멀한 프레임워크 빠른 성능, 작은 메모리 사용량
확장성 다양한 미들웨어와 플러그인으로 기능 확장 필요한 기능만 선택적으로 추가 가능
유연성 다양한 아키텍처 패턴 지원 MVC, REST API, 마이크로서비스 등 자유로운 구조
빠른 개발 간단한 API로 빠른 프로토타이핑 가능 개발 생산성 향상
커뮤니티 활발한 오픈소스 커뮤니티와 풍부한 자료 문제 해결과 학습이 용이

 

3. HTTP 메서드 지원

메서드 Express 메서드 용도
GET app.get() 데이터 조회
POST app.post() 데이터 생성
PUT app.put() 데이터 전체 수정
PATCH app.patch() 데이터 부분 수정
DELETE app.delete() 데이터 삭제
ALL app.all() 모든 HTTP 메서드 처리

 

4. 미들웨어 유형

유형 설명 예시
애플리케이션 레벨 앱 전체에서 실행되는 미들웨어 로깅, 인증
라우터 레벨 특정 라우터에서만 실행 특정 경로의 권한 검사
에러 핸들링 에러 발생 시 실행되는 미들웨어 에러 페이지 렌더링
내장 미들웨어 Express에 기본 포함된 미들웨어 express.static(), express.json()
서드파티 외부 라이브러리 미들웨어 cors, helmet, morgan

 

5. 주요 설정 옵션

설정 설명 기본값
포트 서버가 실행될 포트 번호 3000 (관례적)
뷰 엔진 템플릿 엔진 설정 없음
정적 파일 경로 정적 파일이 위치한 디렉토리 설정 필요
신뢰 프록시 프록시 서버 뒤에서 실행 여부 false
환경 모드 개발/프로덕션 환경 구분 development

 

6. 장단점 비교

구분 장점 단점
성능 빠른 처리 속도, 비동기 I/O 단일 스레드로 인한 CPU 집약적 작업 제한
학습 간단한 API, 풍부한 자료 자유도가 높아 초보자에게 혼란
확장 모듈화된 구조, 다양한 플러그인 많은 의존성으로 인한 복잡도 증가
유지보수 코드 재사용성, 명확한 구조 설정이 많아질수록 관리 복잡

 

 

 

반응형