프로젝트/아침 루틴

server.js/ app.js 로 파일 분리하기

케케_ 2024. 10. 29. 14:31

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 앱을 불러와 실행하는 역할을 합니다.