[NestJS] 라우터와 미들웨어

단비·2023년 3월 17일
0

인강

목록 보기
11/15
  • nodemon 설치
    • 앞에 sudo를 붙이면 관리자모드로 실행

    • node설치 시 npm이 자동으로 같이 설치됨

      npm install --global nodemon
    • nodemon test.js

      • 변경사항을 실시간으로 감시

  • HTTP (하이퍼텍스트 전송 프로토콜)
    • HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 레이어 프로토콜
    • 웹 브라우저와 웹 서버간의 통신을 위해 설계되었지만 다른 목적으로도 사용할 수 있음

  • RESTful 이란
    • patch: 부분적인 업데이트
    • put: 전체 업데이트

  • package.json
    "scripts": {
        // tsconfig 파일에 맞춰 컴파일하는 명령어
        "build": "tsc", 
        "start:dev": "tsc-watch --onSuccess \"node dist/app.js\"",
        // start 시 먼저 시작함(build라는 것을 실행)
        "prestart": "npm run build",
        "start": "node dist/app.js"
      },
  • 초기 세팅 시 아래와 같이 설치
    npm i express
  • 실행 문
    • 실행 시켜놓으면 저장 시 알아서 재실행됨

      npm run start:dev
  • devDependencies와 dependencies의 차이
    • devDependencies는 개발할 때 필요한 기술
    • dependencies 프로덕션을 실행할 때 필요한 기술

  • 라우터란?
    • 둘 이상의 패킷 전환 네트워크 또는 서브네트워크를 연결하는 장치
    • get, post 등을 뜻함
  • express 디자인 패턴 😤 Express.js 프레임워크
    • Node.js 상에서 구동되는 서버 프레임워크
    • MVC 패턴
    • Method 및 Middleware를 통해 쉬운 API 작성
    • routes -> controllers -> services -> repository 순서
  • 미들웨어란?
    • req, res, next가 매개변수인 함수
    • req: 요청, res: 응답 조작 가능, next()로 다음 미들웨어로 넘어감
    • 미들웨어 함수를 여러번 인자로 쓸수 있음
    • get을 이용할 수 있지만 use를 이용할 경우 특정 주소가 설정되어있지 않아도 무조건 실행됨(해당 라우터를 찾기 전에 있을 경우, 순서가 중요)
    • express의 next 메소드
      • 현재 라우터에서 판단하지 않고 다음 라우터로 넘기겠다는 뜻
      • 처음부터 순차적으로 실행시키는 express 특성 상 해당하는 라우터를 찾기 전의 미들웨어(특정 주소가 설정되지 않은 경우 또는 특정 주소와 일치하는 경우)는 필수적으로 실행된 후 넘어감
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글