Programming Blog

express-간단한 웹애플리케이션 만들기 본문

Node js/생활 코딩 Node js

express-간단한 웹애플리케이션 만들기

Go-ong 2019. 2. 7. 18:53
  • express의 매뉴얼을 통해 문제를 해결할 수 있다. https://expressjs.com/ko/

  • 간단한 웹 애플리케이션 만들기
    - 메인 application을 하나 만든다. express에서 권장하는 메인은 app.js로 만드는 것이 관습이다.
    - express모듈을 프로젝트에 로드하여 express라는 변수에 담는다.

    1
    var express = require('express');
    cs


    - express모듈을 통해서 application이라는 객체를 만들어 주기 위하여 

    1
    2
    var app = exrpess();
     
    cs

    가져온 모듈은 함수라서 함수는 application을 return한다.

    - app이 3000번 포트에 listen하고 리스닝이 성공하면 콜백함수가 실행되고 확인을 위해 코드를 작성한다.

    1
    2
    3
    4
    5
    var app = express();
    app.listen(3000function() {
        console.log('Connected 3000 Port');
    });
     
    cs


    - 사용자가 홈페이지로 접속했을 때 홈페이지에 접속했다는 것을 보여주고 싶다면, app.get을 호출하면 된다.

    1
    2
    3
    4
    5
    6
    7
    8
    var app = express();
    app.get('/'function(req, res) {
        res.send('Hello Home Page');
    });
    app.listen(3000function() {
        console.log('Connected 3000 Port');
    });
     
    cs

    웹 서버에 접속할 때 get, post방식으로 접속할 수 있는데, 사용자가 url을 직접치는 것은 get방식이다.
    app.get('/', function() { }); 의 의미는 사용자가 홈으로 접속하면 두번째 인자로 전달한 콜백함수가 실행하라는 의미이다.
    홈으로 접속한 사용자에게 메세지를 전달하려면 콜백함수의 인자로 들어오는 함수의 형태는 첫 번째 매개변수에 req, 두 번째에 res가 들어온다고 약속되어있다.
    /로 들어왔을 때 function을 실행시키면서 첫 번째 매개변수 값으로 사용자가 요청한 것과 관련된 정보를 담고있는 request객체를 담고있는 것이고,
    res라는 두 번째 인자를 통해서 사용자가 요청한 정보에 대해서 응답을 할 수 있는 여러가지 방법을 담고있는 응답에 대한 객체를 전달해주도록
    약속되어있다. 그 약속에 따라 이런 형식의 콜백함수를 정의한다.

    - 사용자가 login이라는 주소로 접속하게 되면 사용자에게 Login please라는 메세지를 전달하고 싶으면 아래와 같이 작성하면 된다.

    1
    2
    3
    app.get('/login'function(req, res) {
        res.send('Login please');
    });
    cs

    즉, 사용자가 어떠한 경로로 들어왔을 때, 어떤 것이 실행될 것인가라고 하는 것을 연결해주는 역할을 하는 것이 get 메서드이다.
    get을 라우터라고 부르고, get이 하는 일을 라우팅이라고 한다.


  • 라우팅
    사용자의 요청과 그 요청에 대한 처리인 컨트롤러를 중개해주는 역할이 라우터이고, 웹 app을 만들 때, 가장 중요한 것 중 하나이다.
    html파일이나 다른 파일 경로를 지정하기 위해 사용되므로 반드시 숙달해야 사용하기 편리하다.


'Node js > 생활 코딩 Node js' 카테고리의 다른 글

express-웹페이지를 표현하는 방법  (0) 2019.02.07
express-정적파일 서비스하는 법  (0) 2019.02.07
express설치  (0) 2019.02.07
express 도입  (0) 2019.02.07
동기와 비동기 프로그래밍  (0) 2019.02.03
Comments