Express는 Node.js를 위한 웹 애플리케이션 프레임워크
서버 측 애플리케이션과 API를 만들기 위해 사용됨
express 서버 설정 - CORS 설정 - MongoDB 연결 - 라우터 등록 - 서버 실행
<aside> ✏️
require(”express”);
const app = express();
<aside> 📌
라우트 정의, 요청, 처리 등 - .get( ) .post( )
서버(포트) 실행 .listen( )
</aside>
Express로 서버 생성 → CORS/json 설정 → MongoDB 연결 → book/users API 라우터 등록 → 해당 포트에서 API 서버 실행
// Node.js 서버 프레임워크
import express from "express";
// MongoDB와 연결하고 데이터 다루는 라이브러리
import mongoose from "mongoose";
// .env 파일에 있는 환경변수(PORT, MongoDB URI) 불러오기
import dotenv from "dotenv";
// 다른 도메인(프론트엔드)에서 서버에 요청할 수 있게 허용
import cors from "cors";
import bookRoute from "./route/book.route.js";
import userRoute from "./route/user.route.js";
/* const express = require("express");
const dotenv = require("dotenv"); */
const app = express();
app.use(cors());
app.use(express.json());
dotenv.config();
const PORT = process.env.PORT || 4000;
const URI = process.env.MongoDBURI;
// connect to mongoDB
try {
// 최신 방식 await mongoose.connect(URI) 또는 mongoose.connect(URI).then().catch() 더 안전
mongoose.connect(URI, {
// MongoDB 주소(URI)에 최신 표준 방식으로 안전하게 연결
useNewUrlParser: true,
useUnifiedTopology: true,
});
console.log("Connected to mongoDB");
} catch (error) {
console.log("Error: ", error);
}
// defining routes
/* .라우트 등록("/라우터 적용 경로", 라우터 객체)
use("경로로 들어오는 요청을", 이 라우터가 처리하라) */
app.use("/book", bookRoute);
app.use("/users", userRoute);
// 서버 on 클라이언트 요청을 받을 준비
app.listen(PORT, () => {
console.log(`Server is listening on port ${PORT}`);
});