ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Express 서버 만들기 Application
    FrameWork/Express.js 2022. 8. 3. 16:13

    개발의 존성을 위한 nodemon

    npm  i  nodemon  --save-dev 

    현재 개발 computer에서는 nodemon이 global로 설치가 되었지만, 프로젝트를 다른 개발자와 공유했을 때 그 개발자의 computer에는 nodemon이 없을 수도 있으므로 위 터미널 명령어로 개발자 mode에서는 nodemon이 필요하다는 것을 명시해준다.

     

    그 뒤에 package.json에 들어가면 "devDepsendencies"에 nodemon이 추가 된 것을 확인 할 수 잇다.

     

     

    초간단 server 구축하기

    import express from "express";
    const app = express();
    
    app.listen(8080);

    computer에는 IP가 있고 여러개의 port가 있다. 그 port중에 관심이 있는 어플리케이션을 listen하고 또 접속할 수 있다. 

    *IP : server가 어디있는지 알 수 있다.

    *Port : 그 server에 어떤 application에 접속할 수 있는지를 나타낸다.

     

     

    Server 동작확인

     

    브라우저를 통해 해당 url에 접속해보면 다음과 같은 화면을 확인할 수 있다. 즉 아직 처리하는 것은 없지만 application server가 정상적으로 동작하는 것을 확인할 수 있다.

     

     

    이제 server가 가동되는 상태에서 원하는 middleware 즉 callback함수를 원하는 경로(URL)이면서, 원하는 메서드에 등록해주면 된다.

     

    모든 메서드에 대해서 듣고 싶다면 app.use()혹은 app.all()을 사용하면 된다. 이 두개는 비슷한데 살짝 차이가 존재한다.

     

     

    root 경로 등록하기

    import express from "express";
    const app = express();
    
    app.get("/", (req, res, next) => {
      console.log("get");
    });
    app.listen(8080);

    우선 get()메서드로 root경로에 listen하고 싶은 callback함수를 등록하면 되는데, 인자로는 req,res,next가 있다.

     

    app에서 할 수 있는 것

    import express from "express";
    const app = express();
    
    app.get("/", (req, res, next) => {
      console.log("get");
    });
    app.listen(8080);

    app에서 원하는 특정한 HTTP 메소드에 대해서 listen할 수 있고, 또 해당 메소드에 매치될 URL를 지정할 수 있고, middleware인 callbakc함수를 등록할 수 있다.

     

    그리고 전달되는 request를 통해서 요청에 대한 정보를 확인한 다음에 response를 통해서 client에게 data를 전달 해주면 된다.


    Application을 통해서 처리할 수 있는 메서드(HTTP)

    app.all()

    app.all(path,callbak[,callback.....])

    all()은 말 그대로 HTTP 모든 메서드에 대해서 listen하고, 처리하고 싶을 때 사용할 수 있다.

     

    app.enable(name)

    app.enable('trust proxy')
    app.get('trust proxy')
    // => true

     

    app.enabled(name)

    app.enabled('trust proxy')
    // => false
    
    app.enable('trust proxy')
    app.enabled('trust proxy')
    // => true

     

    app.use()

    app.use([path],callbak[,callback....])

    app.use()와 app.all()은 어떤 HTTP 요청에든 상관없이 지정한 경로나 또는 경로(URL)를 지정하지 않으면, 모든 경로(URL)에 대해서 원하는 callback함수를 수행해준다.

     

    use()와 all()은 비슷하지만 살짝 다르다.

     

     

     

    [출처 -https://academy.dream-coding.com/courses/node ]

     

    댓글

Designed by Tistory.