Express.js로 서버에 다른 페이지 또는 엔드포인트 추가
Express.js를 2017년에 처음 접해보고 그 이후에 프로젝트에서 몇 번 접해보다가 프로젝트에서 경험해야 할 일이 생겨 다시 알아보았다.
Express.js
Express.js는 Node.js를 위한 웹 애플리케이션 프레임워크이다. Node.js는 JavaScript를 사용하여 서버 측 애플리케이션을 개발할 수 있는 환경을 제공해준다. Express.js는 Node.js를 기반으로 한 경량화면 프레임워크로, 웹 애플리케이션 및 API를 빠르고 간편하게 개발할 수 있도록 도와준다.
Express.js는 간결하면서도 유연한 구조를 가지고 있어 개발자들이 필요한 기능을 추가하거나 사용자 정의할 수 있다. 라우팅, 미들웨어, 요청 및 응답 처리 등 다양한 기능을 제공하여 웹 애플리케이션의 라우팅 및 핸들링을 쉽게 구현할 수 있다. 또한, 다양한 확장 모듈과 템플릿 엔진을 지원하여 개발자들이 더욱 효율적으로 작업할 수 있도록 도와준다.
1. Express 애플리케이션 설정
Express 애플리케이션을 세팅한다. express 패키지를 가져오고, 애플리케이션을 생성하고 포트를 지정해준다.
const express = require("express");
const app = express();
const port = 3000; // 사용할 포트 번호로 변경
2. 라우트 정의
Express 애플리케이션에서 라우트를 정의하여 서버에 다른 페이지 또는 엔드포인트를 추가한다.
app.get() 또는 app.use() 함수를 사용하여 경로에 따른 라우트를 정의할 수 있다.
app.get("/", (req, res) => {
res.send("main 페이지");
});
app.get("/about", (req, res) => {
res.send("about 페이지");
});
3. 정적 파일 제공
Express를 사용하여 정적 파일(이미지, 스타일 시트 등)을 제공할 수도 있다. express.static 미들웨어를 사용하여 정적 파일을 제공한다.
app.use(express.static("public")); // public은 정적 파일이 있는 디렉토리
4. 라우트 모듈화
복잡한 애플리케이션에서는 라우트를 모듈화하여 관리하는 것이 좋다. 라우트를 별도의 파일로 분리하여 코드를 정리하고 유지보수를 쉽게 할 수 있기 때문이다.