Ch.2 JavaScript 라이브러리 15선

Express — 백엔드 서버

article

핵심 내용

Express는 Node.js의 웹 서버 프레임워크입니다

한 줄 요약: JavaScript로 백엔드 서버를 만들 수 있게 해주는 가장 인기 있는 프레임워크. 실생활 비유: 레스토랑의 '웨이터'라고 생각하세요. 손님(브라우저)이 주문(요청)을 하면, 웨이터(Express)가 주방(데이터베이스)에 전달하고 요리(응답)를 가져다줍니다.

프론트엔드만으로는 데이터를 저장할 수 없습니다

프론트엔드만: HTML/CSS/JS로 화면은 만들 수 있지만, 새로고침하면 데이터가 사라집니다. 로그인, 게시판, 결제 불가능.

Express 서버 추가: app.get('/api/todos', ...) 한 줄로 API 생성. 데이터 저장, 로그인 처리, 외부 API 연동 모두 가능.

npm 한 줄이면 설치 끝

npm init -y
npm install express
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.json({ message: '서버가 살아있습니다!' });
});

app.listen(3000, () => {
  console.log('서버 실행: http://localhost:3000');
});

실행 결과: `node app.js` 실행 후 브라우저에서 localhost:3000 접속하면 `{"message":"서버가 살아있습니다!"}` JSON이 표시됩니다.

AI에게 이렇게 요청하세요

좋은 프롬프트 예시 "Express로 TODO API 서버를 만들어줘. GET /todos로 목록 조회, POST /todos로 추가, DELETE /todos/:id로 삭제. 데이터는 배열에 저장하고 JSON으로 응답해줘."

프롬프트 변형 • "로그인 기능 추가해줘. JWT 토큰 방식으로" • "CORS 설정 추가해서 프론트엔드에서 호출 가능하게 해줘" • "에러 처리 미들웨어도 넣어줘"

const express = require('express');
const app = express();
app.use(express.json());

let todos = [];
let nextId = 1;

app.get('/todos', (req, res) => {
  res.json(todos);
});

app.post('/todos', (req, res) => {
  const todo = { id: nextId++, text: req.body.text };
  todos.push(todo);
  res.json(todo);
});

TODO API 미니 프로젝트

const express = require('express');
const app = express();
app.use(express.json());

let todos = [
  { id: 1, text: '우유 사기', done: false },
  { id: 2, text: '코딩 공부', done: true },
];

app.get('/todos', (req, res) => res.json(todos));

app.post('/todos', (req, res) => {
  const todo = { id: Date.now(), text: req.body.text, done: false };
  todos.push(todo);
  res.status(201).json(todo);
});

app.delete('/todos/:id', (req, res) => {
  todos = todos.filter(t => t.id !== Number(req.params.id));
  res.json({ success: true });
});

app.listen(3000, () => console.log('TODO 서버 실행중'));

실행 방법: `node todo-server.js` 실행 후 브라우저에서 `http://localhost:3000/todos` 접속하면 TODO 목록이 JSON으로 표시됩니다. Postman이나 curl로 POST/DELETE도 테스트해보세요.

Express에서 POST 요청의 JSON 본문을 파싱하려면 어떤 미들웨어가 필요한가?

key

핵심 용어

REST API

프론트엔드에 데이터를 보내주는 JSON API 서버 구축

웹 앱 백엔드

로그인, 회원가입, 게시판 등 서버 로직 처리

프록시 서버

외부 API 키를 숨기고 중간에서 요청을 대신 전달

check_circle

핵심 정리

  • 1Express는 Node.js에서 가장 인기 있는 웹 서버 프레임워크
  • 2app.get(), app.post(), app.delete()로 API 엔드포인트 생성
  • 3express.json() 미들웨어로 JSON 요청 본문 파싱
  • 4AI 프롬프트에 'Express + 엔드포인트 목록 + 응답 형식'을 명시하면 정확한 서버 코드 생성

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작