ABOUT ME

Today
Yesterday
Total
  • ROUTER, MODULE,
    Node.js 입문주차 2023. 11. 1. 19:54

    Routing이란?

     

    클라이언트의 요청에 대응해 응답하는 방식

     

    그럼 Router 란?

    클라이언트 요청에 대응하는 (Routing)해주는 기능

     

    router.METHOD(PATH, HANDLER);  //기본형태

     

    method : method로 get post put delete같은게 쓰인다.

    path : 경로

    handler : 만약 이 라우트가 일치할 때 이 핸들링 함수를 실행하라는 뜻 

     

    ex)  

     

    router.METHOD(PATH, HANDLER);// routes/goods.js

    // localhost:3000/api/ GET
    router.get("/", (req, res) => {
      res.send("default url for goods.js GET Method");
    });

    // localhost:3000/api/about GET
    router.get("/about", (req, res) => {
      res.send("goods.js about PATH");
    });
     

     

    위처럼 '/'는 path로 지금의 주소이고 req,res(요구,반응) 이며 이게 통과하면 뒤의 함수를 실행한다.

     

    즉 GET이라는 매소드를 써서 '/'라는 주소에 요청을 했고 그에대한 반응으로 default url for goods.js GET Method을 내보낸다. 

     

    아래는 주소만 /ABOUT이다.

     

     

     

     

    Moudle이란??

     

    모듈이란 특정기능을 갖고있는 여러개 함수와 변수들의 집단으로 그 자체로도 프로그램이라 할 수 있다.

    보통 1개의 파일에 1개의 모듈로 하나의 모듈에서 다른 모듈을 호출할 수 도 있다.

     

     

    모듈이 왜필요할까??

     

    모듈의 하나의 프로그램 자체로 만들어두면 재사용이 가능하고, 코드를 분리해서 관리하기 편하다.

    인터페이스(보이는것) 외에는 정보가 숨어 있기에 정보 은닉에도 좋고 종속성관리가 가능하다.

     

    어떻게 사용할까?

     

    모듈을 만들고 export로 보내고 import, require로 외부 모듈을 요구할 수 있다. 

     

    ex)  

     

    // modules/math.js
    function add(a, b) {
        return a + b;
       }


       // modules/math.js
    module.exports = add;

     

    이런식으로 더하는 코드를 만들어 export로 add라는 한수를 발신하면

    다른 js 파일에서 

    // modules/run.js
    const add = require("./math");
    console.log(add(3, 4));
    // Print: 7

     

    이런식으로 require을 이용하고 뒤에 주소를 적어 송신하고 받아 올 수 있다.

     

    응용을 하면 

    // 모듈을 호출했을 때, add 키 값에는 (a,b){return a + b;} 익명 함수가 할당되는 방법
    exports.add = function (a, b) {
        return a + b;
      }

     

    이런식으로 한번에 보내는 모듈을 만들어 보낼 수도 있고

     


    // 모듈을 호출했을 때, add 키 값에는 add 함수가 들어가는 방법이다.
    function add(a, b) {
        return a + b;
      }
      module.exports = { add: add };

     

    이런 식으로 펑션을 만들어 add에 그 func를 할당해서 수출할 수 도있고

     

    function add(a, b) {
        return a + b;
      }
      module.exports = add;

     

    그냥 모듈에 add를 할당할 수 도있다.

     

     

    솔직히 다 비슷해보여서 걱정이다. 

    'Node.js 입문주차' 카테고리의 다른 글

    API와 REST API의 개념  (0) 2023.11.01
    Request와 Response (RES, Req)  (0) 2023.11.01
    package manager  (0) 2023.10.31
    HTTP/ WEB SERVER  (0) 2023.10.31
    Class(클라쓰)  (2) 2023.10.31
Designed by Tistory.