프로그래밍/Node.js

[Node.js 강의 시리즈] 18강 - Express를 사용한 웹 서버 구축

월횽 2024. 7. 17. 22:55
728x90
반응형
SMALL

Express.js를 사용하여 웹 서버를 구축하는 방법을 배우고, Express의 특징과 장점을 이해하며, 설치 및 기본 설정을 진행한다.

 

 

1. Express 소개

 

Express란?

· Express는 Node.js를 위한 빠르고 간결한 웹 프레임워크로, 웹 애플리케이션 및 API를 쉽게 구축할 수 있게 해준다.
· 최소한의 코드를 사용하여 다양한 기능을 구현할 수 있으며, 미들웨어와 라우팅 기능을 제공한다.

728x90

Express의 특징과 장점

· 간결함: Express는 간결하고 직관적인 API를 제공하여 빠르게 애플리케이션을 개발할 수 있다.
· 유연성: 다양한 미들웨어를 사용하여 애플리케이션의 기능을 확장할 수 있다.
· 확장성: 다양한 플러그인과 모듈을 사용하여 쉽게 확장할 수 있다.
· 성능: 비동기 I/O 처리를 통해 높은 성능을 제공한다.

 

 

2. Express 설치 및 기본 설정

반응형

Express 설치

· Express를 설치하기 위해서는 Node.js와 npm(Node Package Manager)이 필요하다.
· npm을 사용하여 Express를 프로젝트에 설치할 수 있다.

# 프로젝트 디렉토리 생성 및 이동
mkdir my-express-app
cd my-express-app

# npm 초기화 및 Express 설치
npm init -y
npm install express

 

 

기본 설정

· Express를 사용하여 간단한 웹 서버를 구축해보자.
· app.js 파일을 생성하고, 기본적인 서버 설정을 한다.

// app.js

const express = require('express');
const app = express();
const port = 3000;

// 기본 라우트 설정
app.get('/', (req, res) => {
  res.send('Hello, Express!');
});

// 서버 시작
app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

 

 

· 서버를 시작하려면 터미널에서 다음 명령어를 입력한다.

node app.js

 

 

· 브라우저에서 http://localhost:3000을 열어 "Hello, Express!" 메시지를 확인한다.

 

 

3. Express의 특징과 장점

SMALL

미들웨어 사용

· 미들웨어는 요청과 응답 사이에 실행되는 함수로, 요청을 처리하거나 응답을 생성하기 전에 작업을 수행할 수 있다.
· Express는 내장 미들웨어와 서드파티 미들웨어를 제공한다.

예제: 로깅 미들웨어 추가

const express = require('express');
const app = express();
const port = 3000;

// 로깅 미들웨어
app.use((req, res, next) => {
  console.log(`${req.method} ${req.url}`);
  next();
});

app.get('/', (req, res) => {
  res.send('Hello, Express with Middleware!');
});

app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}`);
});

 

 

라우팅 기능

· 라우팅은 URL 경로에 따라 요청을 처리하는 방법을 정의하는 기능이다.
· Express는 다양한 HTTP 메서드를 지원하며, 경로에 따라 요청을 처리할 수 있다.

예제: 다양한 라우팅 설정

app.get('/users', (req, res) => {
  res.send('GET request to the /users');
});

app.post('/users', (req, res) => {
  res.send('POST request to the /users');
});

app.put('/users/:id', (req, res) => {
  res.send(`PUT request to the /users/${req.params.id}`);
});

app.delete('/users/:id', (req, res) => {
  res.send(`DELETE request to the /users/${req.params.id}`);
});

 

 

 

 

 

- 이전 수업 목록

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
LIST