Express.js

허선준·2024년 9월 22일

본캠프

목록 보기
17/25

Express를 사용하는 이유

  • Express는 직관적이고 간결한 API를 제공하여 빠르게 서버를 구축할 수 있게 합니다. 라우팅, 미들웨어 관리 등이 쉽게 설정되고 다양한 미들웨어와 플러그인을 통해 기능을 확장할 수 있습니다.
  • Express는 Node.js 위에서 동작하기 때문에 Node.js의 이벤트 기반 아키텍처와 비동기 처리 모델을 그대로 사용할 수 있습니다. 이를 통해 고성능의 비동기 웹 애플리케이션을 구축할 수 있습니다.

Express의 기능

  1. 라우팅 : 라우팅은 URL 경로에 따라 서버가 다른 응답을 제공하도록 하는 기능입니다. Express에서는 app.get(), app.post() 같은 메서드를 사용해 HTTP 요청에 대한 라우트를 정의할 수 있습니다. 이를 통해 다양한 경로와 HTTP 메서드에 맞춰 적절한 처리 로직을 쉽게 구현할 수 있습니다.
app.get('/users', (req, res) => {
    res.send('User list');
});
  1. 미들웨어 :미들웨어는 요청(req)과 응답(res) 사이에서 특정 작업을 처리하는 함수입니다. Express에서는 미들웨어를 사용해 로깅, 인증, 요청 데이터 처리, 오류 처리 등을 할 수 있습니다. 미들웨어는 체인 형식으로 여러 개 연결할 수 있습니다.
app.use((req, res, next) => {
    console.log('Request received');
    next();  // 다음 미들웨어로 이동
});
  1. 템플릿 엔진 : Express는 템플릿 엔진을 지원하여 서버 측에서 HTML을 동적으로 생성할 수 있습니다. Pug, EJS, Handlebars와 같은 템플릿 엔진을 쉽게 통합할 수 있습니다. 템플릿 엔진을 사용하면 데이터와 템플릿을 결합하여 웹 페이지를 렌더링할 수 있습니다.
app.set('view engine', 'pug');
app.get('/home', (req, res) => {
    res.render('home', { title: 'Home Page' });
});
  1. 정적인 파일 지원 : Express는 정적인 파일(이미지, CSS, JavaScript 파일 등)을 쉽게 제공할 수 있는 기능을 갖추고 있습니다. express.static() 미들웨어를 사용하여 특정 디렉토리에서 정적 파일을 제공하도록 설정할 수 있습니다.
app.use(express.static('public'));  // 'public' 디렉토리 내 파일 제공

이런 좋은 기능이 많기 때문에 수 많은 노드 사용자들이 express를 이용하고 있습니다. 그리고 빠르게 웹 애플리케이션을 구축하거나 API 서버를 만드는 데 자주 사용됩니다.

profile
코딩 초보

0개의 댓글