Express.js를 사용하여 웹 서버를 구축하는 방법을 배우고, Express의 특징과 장점을 이해하며, 설치 및 기본 설정을 진행한다.
1. Express 소개
Express란?
· Express는 Node.js를 위한 빠르고 간결한 웹 프레임워크로, 웹 애플리케이션 및 API를 쉽게 구축할 수 있게 해준다.
· 최소한의 코드를 사용하여 다양한 기능을 구현할 수 있으며, 미들웨어와 라우팅 기능을 제공한다.
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의 특징과 장점
미들웨어 사용
· 미들웨어는 요청과 응답 사이에 실행되는 함수로, 요청을 처리하거나 응답을 생성하기 전에 작업을 수행할 수 있다.
· 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}`);
});
- 이전 수업 목록
'프로그래밍 > Node.js' 카테고리의 다른 글
[Node.js 강의 시리즈] 20강 - 미들웨어 (0) | 2024.07.19 |
---|---|
[Node.js 강의 시리즈] 19강 - 라우팅 (0) | 2024.07.18 |
[Node.js 강의 시리즈] 17강 - 비동기 처리 패턴 비교 (0) | 2024.07.16 |
[Node.js 강의 시리즈] 16강 - async/await (0) | 2024.07.15 |
[Node.js 강의 시리즈] 15강 - 프로미스 (Promise) (0) | 2024.07.12 |