[Node.js] Spring to Node.js : 프로젝트 준비

E woo·2024년 7월 9일

Node.js

목록 보기
2/4
post-thumbnail

Node.js 에서 MVC 구현 해보기

(사실상 REST..지만)

Django 때와 마찬가지로 이미 Spring Boot 로 만들어 놓은 프로젝트를 Node.js 로 바꿔보면서 예전 Node.js 를 처음 배웠던 동아리 때 기억을 떠올려보자….

우선 Spring boot 프로젝트는 지난번과 동일하게 다음과 같다!

사실 Frontend 부분을 따로 구현했기 때문에 MVC 에서 V 부분인 view 는 사실상 구현이
되어 있지 않고, Controller 에서 반환한 메서지를 통해 프론트에서 화면을 구성한다.

사실상 REST API 구성 형태이지만 그래도 이전 Django 처럼 Node.js 에서는
어떤 MVC 패턴을 사용하는지 확인해보자!

Node.js MVC 패턴

다행히! Django 의 MTV 와 달리 Node.js 에서는 그대로 MVC 패턴으로 불린다!
(이름만 달라져도 은근 신경쓰이고 어려운 느낌이라…)

Django 나 Spring 에 비해 Node.js 에서는 크게 정해진 프로젝트 구조가 존재하지 않고,
(당장의 Django 때만 봐도 도메인 별로 앱을 만들면 정해진 구조가 생성되어 사용하는 것과 달리)

관례적으로 자주 사용되는 구조가 존재하며 상황에 맞게 적용하는 경우가 많아 보인다.

프로젝트 구조

기본적으로 프로젝트는 이런 구조를 주로 사용하며,

src 안의 MVC 패턴은

와 같은 방식을 통해 구성된다고 한다.

그럼 위의 프로젝트 구조를 활용해서 한번 Spring Boot 코드를 Node.js 로 바꿔보자!

프로젝트 준비

npm init

npm package 를 만들며 express 를 받을 수 있도록 한다.

npm install express

여기서 보면 알 수 있듯이 node.js 는 단순히 JS 를 사용해 서버 측 애플리케이션을 개발해주는
런타임 환경 이며 실제 API 와 같은 라우팅 기능은 Express 라는 웹 프레임워크를 사용한다!

따라서 Node.js 와 Express 를 다르다는 것!
(그래서 express 없이는 node.js 내장의 http 모듈을 통해 서버를 만들어야 한다.)

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

그럼 이제 진짜 Spring 을 Node.js 로 바꿔보자!

profile
뒘벼

0개의 댓글