ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 노드 Express 웹 서버 시작하기
    노드 2023. 4. 17. 15:47

    Express 소개

    http 모듈로 웹 서버를 만들 때 코드가 보기 좋지 않고, 확장성도 떨어짐

    • 프레임워크로 해결
    • 대표적인 것이 Express, Koa, Hapi
    • 코드 관리도 용이하고 편의성이 많이 높아짐

     

    package.json 만들기

    직접 만들거나 npm init 명령어로 생성하면 된다.

    • nodemon은 소스 코드 변경 시 서버를 재시작해준다.

     

    //package.json
    {
      "name": "learn-express",
      "version": "0.0.1",
      "scripts": {
        "start": "nodemon app"
      },
      "devDependencies": {
        "nodemon": "^2.0.3"
      },
      "dependencies": {
        "cookie-parser": "^1.4.5",
        "express": "^4.17.1",
        "express-session": "^1.17.1",
        "morgan": "^1.10.0"
      }
    }

    이것을 package.json이란 파일을 만들어서 직접 적어도(직접 작성한 후에는 npm i를 해주자) 되고 아니면 

    npm i express

    npm i -D nodemon

    으로 만들어 주면 된다.

     

    app.js 작성하기

    서버 구동의 핵심이 되는 파일

    • app.set('port', 포트)로 서버가 실행될 포트 지정
    • app.get('주소', 라우터)로 GET 요청이 올 때 어떤 동작을 할지 지정
    • app.listen('포트', 콜백)으로 몇 번 포트에서 서버를 실행할지 지정

     

    //app.js
    const express = require('express');
    const path = require('path');
    
    const app = express();
    app.set('port', process.env.PORT || 3000);
    
    app.get('/', (req, res) => {
      res.send('Hello, Express');
      //res.sendFile(path.join(__dirname, '/index.html'));
    });
    
    app.listen(app.get('port'), () => {
      console.log(app.get('port'), '번 포트에서 대기 중');
    });

     http 모듈로 서버를 만들때와 거의 비슷하다.

    그리고 요청했을 때의 url이 밖으로 꺼내져 있는 것을 볼 수 있다.

    이말은 즉슨, http 때처럼 요청에 대한 처리를 if ~else if 로 처리해 주지 않아도 된다는 소리다.

     

    또한 nodemon을 통해 실행하면 코드의 변경이 있을 때마다 서버를 껏다 켯다 하지 않아도 된다. 실행할때 nodemon app을 하면 된다.

    '노드' 카테고리의 다른 글

    노드 미들웨어 사용하기  (0) 2023.04.17
    노드 express로 html 서빙하기  (0) 2023.04.17
    npm 배포하기  (0) 2023.04.14
    노드 npm 명령어  (1) 2023.04.14
    노드 node_modules 와 npx, SemVer  (1) 2023.04.14
Designed by Tistory.