Node.js 공부하기 (4)

1. Express

Express란?

Node.js를 위한 빠르고 자유로운 미니멀한 웹 프레임 워크입니다.

Express를 사용하는 이유

  • Node.js를 사용한 웹 어플리케이션을 만들기 쉬워졌습니다.
  • 가볍고 빠르고, 무료입니다.
  • 요청과 응답을 완전히 통제할 수 있습니다.
  • Node.js에서 가장 인기 있는 프레임워크 입니다.
  • npm

    npm이란?

    npm은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이며 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자입니다.

  • Express 설치
    Express를 npm을 이용하여 설치합니다.

     npm install express-generator -g
     // express만 적어서 설치를 해도 되지만 express-generator를 이용하면 기본 폴더 구조까지 잡아줍니다.
  • express-generator 패키지를 이용해 설치한 폴더(파일)구조

    app.js 파일

    핵심적인 서버 역활을 하고 미들웨어들과 연결한뒤 export하여 bin폴더에 있는 www파일을 실행시킬 수 있도록 합니다.

    bin 폴더

    서버가 실행하는 코드가 저장되있는 www파일이 있습니다. www파일은 http 모듈에 express모듈을 연결하고 포트를 지정합니다.

    public 폴더

    정적 파일을 위한 폴더로 자바스크립트 파일, 이미지 파일, CSS등을 포함합니다.

    routes 폴더

    라우팅을 위한 폴더로 클라이언트에서 요청 별로 어떤 로직을 수행할지 정의한 폴더입니다.

    views 폴더

    request 요청에 대한 로직을 처리한 후 클라이언트에 응답을 보낼 때 html 코드로 변환해서 반환하는 파일을 정의한 폴더입니다.

    models 폴더

    데이터베이스의 모델을 정의한 파일을 모아놓는 폴더입니다.

  • 미들웨어

    미들웨어란?

    요청과 응답의 중간에 위치하여 미들웨어라고 부르고 요청과 응답을 조작하여 기능을 추가하거나 나쁜 요청을 걸러냅니다.그리고 next함수를 이용하여 미들웨어의 흐름을 제어합니다. next(인덱스)를 사용하면 해당

    미들웨어 사용법

    ...
    var 변수명 = require('패키지명');
    app.use(변수명)
    ...
  • Router 객체로 라우팅 분리하기

    라우팅 미들웨어

    첫번재 인자로 주소를 받아서 특정 주소에 해당하는 요청이 왔을 때만 미들웨어가 동작하게 할 수 있습니다.

    라우터를 사용하는 이유

    코드 관리를 위해 라우터를 별도로 분리합니다.

    use메서드

    모든 http 메서드에 대해 ㅇ청 주소만 일치하면 실행됩니다.

    get, post, put, patch, delect 메서드

    주소뿐만 아니라 HTTP 메서드 까지 일치하는 요청일 때만 실행됩니다.

    응답 메서드

    res.send(버퍼/문자열/HTML/JSON) : 만능 메서드입니다.
    res.sendFile(파일 경로) : 파일을 응답으로 보내주는 메서드 입니다.
    res.json(JSON 데이터) : JSON 데이터를 보내줍니다.
    res.redirect(주소) : 응답을 다른 라우터로 보내 버립니다.
    res.render('템플릿 파일 경로', { 변수 }) : 템플릿 엔진을 렌더링할 때 사용합니다.

좋은 웹페이지 즐겨찾기