[Day59] Node.js - Express의 주요 기능1

Validator·2023년 9월 6일
0

Express의 주요 기능

  1. 라우팅(Routing): 사용자가 웹 브라우저 주소창에 URL을 입력하면, Express는 해당 URL과 연결된 코드를 실행한다. 예를 들어, 사용자가 www.example.com/login으로 이동하면 Express는 /login 경로와 연결된 코드를 찾아 실행한다.

  2. 미들웨어(Middleware): 미들웨어는 Express 애플리케이션의 주요 구성 요소다. 사용자의 요청에 따라 실행되는 함수로, 보안, 로깅, 세션 관리 등 다양한 기능을 수행한다.

  3. 정적 파일 제공: Express는 웹 페이지에서 필요한 이미지, CSS, JavaScript 파일과 같은 정적 파일을 제공할 수 있다.

  4. 템플릿 엔진(Template Engine): 웹 페이지 내용을 동적으로 생성하는 데 사용된다. 예를 들어, 사용자의 이름이나 주소와 같은 데이터를 웹 페이지에 표시할 때 템플릿 엔진을 사용한다.

Express 시작하기

Node.js와 npm(Node Package Manager)이 설치되어 있어야 Express를 사용할 수 있다. npm을 통해 Express를 설치할 수 있다:

npm install express

간단한 Express 애플리케이션 예제

const express = require('express'); // Express 라이브러리 불러오기
const app = express(); // 애플리케이션 인스턴스 생성

app.get('/', (req, res) => { // 루트 경로('/')로의 GET 요청에 응답
  res.send('안녕하세요, Express입니다!');
});

app.listen(3000, () => { // 3000번 포트에서 서버 시작
  console.log('서버가 3000번 포트에서 작동하고 있다.');
});

이 코드를 실행하면, 웹 브라우저에서 http://localhost:3000으로 이동했을 때 "안녕하세요, Express입니다!"라는 메시지를 볼 수 있다.

라우팅(Routing)

업로드중..

라우팅은 애플리케이션 엔드 포인트(URI)와 클라이언트 요청의 HTTP 메서드(GET, POST 등)을 연결하는 메커니즘이다. 각 라우트는 하나 이상의 핸들러 함수로 구성되며, 해당 라우트에 대한 특정 경로와 HTTP 메서드에 대한 요청이 발생할 때 실행된다.

기본적인 라우팅 예제:

// GET 방식의 요청 처리
app.get('/', (req, res) => {
  res.send('GET 요청에 대한 응답');
});

// POST 방식의 요청 처리
app.post('/', (req, res) => {
  res.send('POST 요청에 대한 응답');
});

이러한 라우팅 메커니즘은 Express 애플리케이션에서 중요한 역할을 한다.

미들웨어(Middleware)

미들웨어는 요청 객체(req), 응답 객체(res) 및 다음 미들웨어 함수의 세 가지 매개변수로 구성된 함수다. 다음 미들웨어 함수는 주로 next 변수로 표현되며, 이는 Express 라우터에 의해 제공된다.

미들웨어는 기본적으로 스택처럼 실행된다. 첫 번째 미들웨어 함수가 호출되면, 작업을 완료한 후 next()를 호출하여 다음 미들웨어 함수로 제어를 전달한다.

기본적인 미들웨어 예제:

app.use((req, res, next) => {
  console.log('첫 번째 미들웨어');
  next(); // 다음 미들웨어 함수로 제어 전달
});

app.use((req, res, next) => {
  console.log('두 번째 미들웨어');
  res.send('미들웨어 응답');
});

미들웨어는 애플리케이션의 요청-응답 주기 중 어느 곳에서나 실행될 수 있다. 또한, 순서가 중요하다. 첫 번째 미들웨어 함수에서 next()가 호출되지 않으면 두 번째 미들웨어 함수는 실행되지 않는다.

이와 같이 Express는 Node.js의 웹 개발을 간소화하고 효율화하는 데 중요한 도구다. 다양한 기능과 미들웨어를 활용하여 강력하고 확장 가능한 웹 애플리케이션을 빠르게 구축할 수 있다.

0개의 댓글