ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • node.js를 이용해서 간단한 웹 서버 만들기!
    공부/node.js 2021. 4. 21. 00:22

    node.js와 express모듈을 사용해서 간단한 웹 서버를 만들어 본다.

     

    1. node.js를 설치한다.

    http://www.nodejs.org 페이지에서 운영체제에 맞는 설치파일을 다운받는다.

    설치가 완료되면 node.js가 설치된 디렉토리를 환경변수 PATH에 추가한다.

    [고급 시스템 설정 보기] - [환경 변수] - [시스템 변수] - PATH 선택 후 [편집] 클릭.

    [새로 만들기] - node.js가 설치된 디렉토리 입력 - [확인] 클릭.

    cmd창에 node를 입력하여 node.js가 제대로 설치되었는지를 확인한다.

    잘 설치되었음을 확인했다

     

    2. node.js 프로젝트를 실행할 폴더를 하나 생성한다.

    난 C:\nodejs_temp\210420_proj 로 디렉토리를 지정했다.

     

    3. Visual Studio Code를 실행시킨 후 [File] - [Open Folder] 클릭 후 2번 단계에서 생성한 폴더의 디렉토리를 선택하여 오픈한다.

     

    4. [Ctrl] + [Shift] + [`] 를 클릭하여 terminal을 실행시킨 후, npm init 명령어를 실행한다.

    package name, version, description 등 package.json file의 정보를 입력하라는 란이 뜨는데, 일단 계속 enter 키를 눌러서 넘어갔다. 마지막에 yes를 입력해서 npm init 설정을 끝낸다.

     

    폴더에 package.json 파일이 생성됨을 확인할 수 있다.

     

    5. express 모듈을 설치한다.

    terminal에서 npm install express --save 명령어를 실행시켜 express 모듈이 설치되고, node_modules 폴더가 생성됨을 확인할 수 있다.

    package-lock.json 파일도 생성되었다.

     

    6. 웹서버를 실행할 javascript 파일을 하나 생성한다.

    Visual Studio Code에서 프로젝트를 열고 [New File]을 클릭해서 app.js 파일을 생성하면 된다.

     

    7. 간단한 소스 코드

     

    - localhost의 3000번 포트에서 웹 서버를 실행한다.

    - localhost:3000 주소로 GET을 하면 웹 페이지에는 request한 시간을 출력하고, 웹 서버에는 "get test ok"라는 메시지를 출력한다.

    - localhost:3000/post_test 주소로 'hi :)'라는 메시지를 POST하면 웹 페이지에는 "post test ok"라는 메시지를 출력하고, 웹 서버에는 "posted_data: hi :)"라는 메시지를 출력한다.

    const express = require('express');
    var app = express();
    
    const port = 3000;
    
    var requestTime = function (req, res, next) {
        req.requestTime = Date.now();
        next();
    };
    
    app.use(requestTime);
    
    app.listen(port, () => {
        console.log(`Example app listening at http://localhost:${port}`)
    });
    
    
    app.get("/", (req, res)=>{
        var responseText = 'Requested at: ';
        responseText += req.requestTime;
        console.log("get test ok");
        res.status(200).send(responseText);
     });
    
     
    app.post("/post_test", (req, res)=>{
        var posted_data = '';
    
       req.on('data', function(chunk) {
        posted_data += chunk; 
       });
    
       req.on('end', function() {
           console.log("posted_data: ", posted_data);
           res.send('post test ok')
       });
    });
    

    terminal에서 node app.js 명령어를 실행한다. 또는 node app을 실행해도 된다.

    Postman을 이용해서 GET, POST를 테스트한다.

     

    1) GET 메소드 실행 결과

    2) POST 메소드 실행 결과

     

     

    설명도 적고 깊이가 적은 글인데도 작성하는데 꽤 오래 걸렸다...

    나중에 더 공부해서 내용이랑 설명을 더 추가해야지~!

     

     

Designed by Tistory.