server.js 와 app.js 를 함께 사용하여 프로젝트를 구성하면 Express 설정과 서버 실행 코드를 분리할 수 있음
-> 유지 보수가 쉬움
server.js
: 백엔드 서버(예. node.js)의 메인 서버 파일
: express 기반의 서버에서 가장 기본적인 엔트리 파일로 사용, 서버 시작 역할
- node server.js 로 서버를 구동함
- app.js에서 설저한 express 앱을 가져와 서버를 실행
const app = require("./app"); // app.js에서 설정한 Express 앱을 가져옴
//아래 두 줄을 넣으면 env에서 설정한 포트 가져옴
//지금은 로컬이니까 주석처리하고 9999으로 사용
// const dotenv = require("dotenv");
// dotenv.config();
const PORT = process.env.PORT || 9999;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
app.js
: 애플리케이션의 주 기능 처리
: 서버의 주요 설정 및 미들 웨어를 설정하는 파일
: express 의 인스턴스를 설정하고 미들웨어를 적용
- express 애플리케이션 설정
- 미들웨어나 라우트 정의
const express = require("express");
const app = express();
app.use(express.json());
//기본 localhost:9999
app.get("/", (req, res) => {
res.send("Hello World!");
});
//라우터 불러오기
const routineRouter = require("./routes/routineRoutes");
const completeRouter = require("./routes/completeRoutes");
const statsRouter = require("./routes/statsRoutes");
const userRouter = require("./routes/userRoutes");
//라우터 설정
app.use("/routines", routineRouter);
app.use("/routines/completes", completeRouter);
app.use("/routines/stats", statsRouter);
app.use("/users", userRouter);
//모듈 : 관련된 코드들을 하나의 코드 단위로 캡슐화하는 것
//내보내기
module.exports = app;
요약
- const express = require("express"); 코드는 app.js에 작성하여 Express 앱을 설정합니다.
- server.js에서는 app.js의 Express 앱을 불러와 실행하는 역할을 합니다.
'프로젝트 > 아침 루틴' 카테고리의 다른 글
회원가입 없이 서비스 이용하기 (기록하기) / uuid, cookie-parser 예제 정리까지 (0) | 2024.11.02 |
---|---|
DB 설정하고 MySQL connection pool 사용하기 / try-catch와 비동기 고민 (0) | 2024.11.01 |
url의 쿼리스트링 고민...(gpt 답변 포함) / res.send의 오류/ routes 폴더 (라우터 폴더) (3) | 2024.10.29 |
초기 설정 package.json , express, .env (0) | 2024.10.29 |