Node.js와 Express.js로 서버 구축하기

clock icon

posted 2 months ago

Node.js와 Express.js를 사용하여 기본적인 서버를 구축하는 방법을 설명드리겠습니다. 이를 기반으로 더 복잡한 기능을 추가하거나 데이터베이스와 연동하여 실제 웹 애플리케이션을 개발할 수 있습니다. Happy coding!

Node.js란

Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 환경입니다. 브라우저 환경에서만 실행되던 JavaScript를 서버 측에서도 실행할 수 있도록 해주는 환경으로, 이를 통해 서버 애플리케이션을 구축할 수 있게 됩니다. Node.js는 비동기적 이벤트 기반 방식으로 동작하여 입출력 작업에 효율적이며, 확장성과 성능면에서 뛰어난 장점을 제공합니다.

Express.js란

Express.js는 Node.js를 위한 빠르고 유연한 웹 애플리케이션 프레임워크입니다. 노드 기본 기능보다 추상화된 API를 제공하여 웹 애플리케이션을 쉽게 개발할 수 있도록 도와줍니다. 라우팅, 미들웨어, 세션 관리 등 다양한 기능을 제공하여 개발자들이 효율적으로 웹 애플리케이션을 구축할 수 있도록 돕습니다.

서버 구축을 위한 초기 설정

먼저 프로젝트 폴더를 생성하고 해당 폴더로 이동합니다. 그리고 npm을 사용하여 Express.js를 설치합니다.

mkdir (폴더명)
cd (폴더명)
npm init -y
npm install express

Index.js 파일 생성

프로젝트 폴더 내에 index.js 파일을 생성하고 아래와 같이 기본 구조를 작성합니다.

// Express.js 모듈 가져오기
const express = require('express');
const app = express();
const port = 3000;

// 루트 경로 요청에 대한 핸들러
app.get('/', (req, res) => {
res.send('Hello, World!');
});

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

주의 사항

import 대신 require를 사용

require를 사용하는 이유는 Node.js가 기본적으로 CommonJS 모듈 시스템을 따르기 때문입니다. CommonJS 모듈 시스템은 Node.js에서 모듈을 정의하고 불러오기 위해 사용되는 표준 방식으로, ECMAScript 5 이전의 JavaScript에서 모듈을 지원하지 않았던 시기에 Node.js 개발자들이 채택한 방법입니다.

Node.js에서 Frontend 코드를 작성할 때 import를 사용하는 이유는 최신 버전의 JavaScript를 지원하는 브라우저와 최신 프론트엔드 개발 도구들이 ES6(ES2015)의 모듈 시스템을 지원하기 때문입니다. 따라서 프론트엔드 개발에서는 import와 export를 사용하여 모듈을 정의하고 불러올 수 있습니다.

Top Questions