코딩과 결혼합니다

02. [ Express와 TypeScript ] 본문

2세/Nest.js

02. [ Express와 TypeScript ]

코딩러버 2024. 8. 4. 00:32
728x90

강의에서 Express위에 TypeScript언어로 개발을 한다 어쩐다??? 뭔말이야 ㅜㅜㅜ


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(`Server is running at http://localhost:${port}`);
});

 

'express' 모듈을 사용하여 애플리케이션 객체 'app'을 생성,

HTTP GET 요청에 대한 라우팅 정의 -> '/' 경로로 들어오는 요청에 대하여 "Hello World!" 메시지를 응답으로 보낸다.


TypeScript

JavaScript의 상위 집합으로, 정적 타입 체킹을 제공하여 코드의 오류를 미리 방지할 수 있게 해준다.

이를 사용하면 코드의 가독성, 유지보수성, 안정성을 향상시킬 수 있다.

 

Express와 TypeScript를 함께 사용하면, 서버 로직에서 발생할 수 있는 타입 관련 오류를 미리 방지하고, 개발 중에 타입 오류를 쉽게 발견할 수 있다.


<이해하기 쉽게 java Spring과 비교를 해본다.>

 

IntelliJ IDEA에서 Spring 프레임워크를 사용하여 Java로 웹 애플리케이션을 개발

= VS Code에서 Express 프레임워크를 사용하여 Node.js로 웹 애플리케이션을 개발

 

공통점

  • 웹 애플리케이션 개발 : 모두 웹 서버 설정, 클라이언트 요청에 대한 응답 처리, 다양한 라우팅 및 미들웨어 제공
  • 의존성 관리 : Spring은 Maven이나 Gradle / Express는 npm을 사용하여 패키지 관리
  • 플러그인 및 확장성 

차이점

  • 언어 : Spring은 Java로 작성 / Express는 JavaScript 또는 Node.js 기반
  • 기반 아키텍처 : Spring은 엔터프라이즈급 애플리케이션을 위한 다양한 기능 제공
    / Express는 경량 프레임워크로 빠르고 간단한 웹 어플리케이션 또는 API 서버를 구축하는 데 적합
  • 개발 도구 : Spring은 IntelliJ IDEA, Eclipse 등에서 주로 개발, 강력한 코드 지원 및 디버깅 기능 제공
    / Express는 VS Code와 같은 텍스트 편집기에서 주로 개발, Node.js 디버깅을 위한 확장 기능과 다양한 코드 지원

음 조금은 이해가 간다. 아직은 설정부분이 이게 뭔지 싶지만 공식문서에서 검색하며 보니 조금은 ..아주 조금은 알 것 같다.