Express 구조

airbus·2025년 2월 21일

프로그래머스

목록 보기
23/93

2025-02-21 router사용에 대한 실습을 진행을 하면서
express로 서버를 생성하여 api 설계, 모듈화, 라우터별 분리 후 연결 과정을 통해
Express만으로 서버의 기능을 대부분 만들어 사용이 가능하다는 것을 알 수 있었습니다.

서버기능의 파일에서는 기존과 같이
server.js

const express = require('express')로 express 모듈을 불러와
const app = express() express()객체를 app객체에 넣어 서버 전체에서 실행/관리 할수있게 생성
app.listen(포트)

express와 app으로 생성하고

const aRouter = require('./a')// a.js 모듈의 기능 사용
const bRouter = require('./b')// b.js 모듈의 기능 사용

app.use("/", aRouter) // 경로 / 로 들어오는 요청은 aRouter 로 처리

다른 기능을 담당하는.js 파일들로부터 모듈을 불러와 연결하여 사용할 수 있고.
기능이나, API마다 별도의 파일로 분리가 가능하기에 관리와, 가독성, 유지보수에 용이함.


a.js

const express = require('express')
const router = express.Router()
//router.listen(7777) - 더 이상 a.js에서 서버실행하지 않음
router.use(express.json()) // express에서 post로 body값을 가져오는 경우 미들웨어 없이 불러오면 undefined 에러
//express.json() 미들웨어를 사용하하거나 body.parsser로, Json형태로 요청이 들어오는 것을 파싱해주는 것
~
~
module.exports = router // 라우터 객체 모듈화

모듈화한 router객체를 server.js에서 해당모듈의 경로로 가져온 다음
app.use()로 애플리케이션 전체에서 /경로로 들어오는 요청을 aRouter로 처리 하는 방식으로
원하는 기능별로 라우터 분리가 가능하다는 것을 알 수 있습니다.

0개의 댓글