코사장의 코딩 놀이터

웹개발

Express.js 소개 및 활용 방법

코사장_ 2023. 4. 20. 21:43
반응형

1. 들어가기

안녕하세요! 이번 포스트에서는 Node.js 웹 애플리케이션 개발에 널리 사용되는 프레임워크인 Express.js에 대해 알아보겠습니다. 이 글에서는 Express.js의 기본 개념, 사용법, 설치 방법, 예제 코드 등을 다루고, Express.js를 배우고 활용하는 데 도움이 될 추가 정보를 제공하겠습니다.

2. Express.js 기본 개념

Express.js는 Node.js를 위한 가벼운 웹 애플리케이션 프레임워크로, 웹 애플리케이션 개발을 빠르게 하고 간소화할 수 있게 도와줍니다. Express.js는 미들웨어와 라우팅을 제공하여 웹 애플리케이션의 기능을 쉽게 확장하고 관리할 수 있습니다.

 

3. Express.js 설치 방법

Express.js를 설치하기 위해서는 먼저 Node.js가 설치되어 있어야 합니다. Node.js 설치 후에 터미널(또는 명령 프롬프트)에서 다음 명령어를 실행하여 Express.js를 설치합니다.

npm install express --save

 ** --save 옵션은 package.json의 dependency 항목에 모듈을 추가한다는 의미입니다.!!!

위 명령어를 실행하면 프로젝트 폴더의 package.json 파일에 Express.js가 의존성으로 추가되며, node_modules 폴더에 설치됩니다.

 

4. 예제 코드

간단한 Express.js 웹 애플리케이션을 생성하는 예제 코드입니다.

// app.js
const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('<h1>Express.js 웹 서버 예제입니다.</h1>');
});

const port = 3000;
app.listen(port, () => {
    console.log(`서버가 http://localhost:${port} 에서 실행 중입니다.`);
});

위 코드를 app.js 파일에 저장한 후, 터미널에서 node app.js 명령을 실행하면 웹 서버가 실행됩니다. 웹 브라우저에서 http://localhost:3000 주소로 접속하면 "Express.js 웹 서버 예제입니다."라는 메시지가 표시됩니다.

예제 코드 결과

5. 라우팅

Express.js에서 라우팅은 클라이언트의 요청을 적절한 핸들러 함수로 연결하는 기능을 말합니다. 예를 들어, 다음 코드는 /users 경로로 들어오는 GET 요청을 처리하는 라우트를 설정합니다.

 

app.get('/users', (req, res) => {
    res.send('<h1>유저 목록 페이지입니다.</h1>');
});

라우팅은 HTTP 메서드(GET, POST, PUT, DELETE 등)와 URL 경로를 사용하여 구성할 수 있습니다. 이를 통해 웹 애플리케이션에서 다양한 요청을 처리할 수 있습니다. 라우팅은 Express.js 에서 가장 자주 사용되는 기능입니다.

 

6. 미들웨어

미들웨어는 Express.js 애플리케이션에서 요청 및 응답을 처리하는 중간 과정입니다. 미들웨어는 애플리케이션의 여러 단계에서 실행되며, 요청 및 응답 객체에 대한 접근이 가능합니다. 미들웨어를 사용하면 로깅, 인증, 세션 관리 등과 같은 기능을 쉽게 구현할 수 있습니다.

미들웨어를 사용하는 예시는 다음과 같습니다.

app.use((req, res, next) => {
    console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
    next();
});

위 코드는 모든 요청이 처리되기 전에 실행되는 미들웨어로, 요청 시간과 메서드, URL을 로깅합니다.

 

이 글을 통해 Express.js를 이해하고 사용하는 데 도움이 되었기를 바랍니다. Express.js는 웹 애플리케이션 개발을 더욱 빠르고 편리하게 할 수 있도록 도와주는 강력한 프레임워크입니다. 이를 활용하여 웹 애플리케이션을 구축하고, 다양한 기능을 구현해 보세요. 그럼, 행운을 빕니다!

반응형