Express란?

Express는 Node.js를 위한 빠르고 유연한 웹 애플리케이션 프레임워크입니다. 즉 Express를 통해 Node.js를 사용하여 웹 애플리케이션을 더욱 쉽게 작성할 수 있습니다. Express는 Node.js의 기능을 확장하며,HTTP의 요청과 응답을 쉽게 처리하고, 미들웨어와 라우팅을 사용하여 웹 애플리케이션을 더욱 유연하게 만들 수 있습니다

 

설치 및 사용방법

먼저 아래의 코드를 터미널을 통해 해당 디렉토리 내부에서 실행시켜 Express를 설치해줍니다.

npm install express --save

그리고 프레임워크를 쓰고자 하는 파일( ex) app.js ) 내부에 코드를 다음과 같이 작성합니다.

 

 

// app.js

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

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

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

코드에서 express 모듈을 불러와 app 객체를 생성합니다. 그리고 app.get() 메소드를 사용하여 / 경로로 들어오는 GET 요청을 처리합니다. 요청이 들어오면 res.send() 메소드를 사용하여 Hello, world! 문자열을 응답으로 보내줍니다.

 

마지막으로 app.listen() 메소드를 사용하여 서버를 실행합니다. 위 코드에서는 3000번 포트를 사용하여 서버를 실행하고 있습니다.

이제 코드를 실행하면 localhost:3000 주소로 접속하면 Hello, world! 메세지를 있습니다

 

라우팅

Express는 프레임워크 자체에서 라우터 기능을 제공합니다.

Express에서 라우팅은 HTTP 요청 메서드(GET, POST, PUT, DELETE ) URL 경로를 결합하여 어떤 동작을 수행할지 결정합니다. 예를 들어 /users 경로로 GET 요청이 들어왔을 , 사용자 목록을 조회하는 기능을 구현하려면 다음과 같이 코드를 작성할 있습니다.

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

app.get('/users', (req, res) => {
  // 사용자 목록 조회 로직
  // ...
  
  res.send(users); // 조회한 사용자 목록을 응답으로 반환합니다.
});

코드에서 app.get('/users', callback) /users 경로로 GET 요청이 들어왔을 callback 함수를 실행하도록 설정하는 메서드입니다. 이제 브라우저에서 GET /users 요청을 보내면 서버에서는 callback 함수가 실행되고, 결과로 사용자 목록이 응답으로 반환됩니다.

 

미들웨어

 

미들웨어는 Express에서 가장 핵심적인 개념 하나입니다. 미들웨어는 요청과 응답 객체를 가공하거나 처리하는 로직을 담당합니다. 미들웨어는 Express 애플리케이션에서 app.use() 메서드를 사용하여 등록할 있습니다. 미들웨어는 함수 형태로 정의되며, req, res, next 개의 인자를 받습니다.

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

// 미들웨어 등록
app.use((req, res, next) => {
  console.log('Request received');
  next(); // 다음 미들웨어 호출
});

app.use((req, res, next) => {
  // 로그인된 사용자인지 확인하는 로직
  // ...
  
  if (req.user) {
    next(); // 다음 미들웨어 호출
  } else {
    res.status(401).send('Unauthorized'); // 로그인되지 않은 경우 401 에러 반환
  }
});

// ...

 

+ Recent posts