미들웨어를 통해 요청과 응답에 다양한 기능을 추가할 수 있고, 이미 많은 사람이 유용한 기능들을 패키지로 만들어뒀습니다. 실무에 자주 사용하는 패키지들을 설치해봅시다.

    콘솔

    $ npm i morgan cookie-parser express-session dotenv

    dotenv를 제외한 다른 패키지는 미들웨어입니다. dotenv는 process.env를 관리하기 위해 설치했습니다.

    app.js를 다음과 같이 수정합니다. 또한, .env 파일도 생성합니다. 파일명이 .env이고 확장자는 없습니다.

    app.js

    const express = require('express');
    const morgan = require('morgan');
    const cookieParser = require('cookie-parser');
    const session = require('express-session');
    const dotenv = require('dotenv');
    const path = require('path');
    
    dotenv.config();
    const app = express();
    app.set('port', process.env.PORT || 3000);
    
    app.use(morgan('dev'));
    app.use('/', express.static(path.join(__dirname, 'public')));
    app.use(express.json());
    app.use(express.urlencoded({ extended: false }));
    app.use(cookieParser(process.env.COOKIE_SECRET));
    app.use(session({
      resave: false,
      saveUninitialized: false,
      secret: process.env.COOKIE_SECRET,
      cookie: {
        httpOnly: true,
        secure: false,
      },
      name: 'session-cookie',
    }));
    
    app.use((req, res, next) => {
      console.log('모든 요청에 다 실행됩니다.');
      next();
    });
    ...

    .env

    COOKIE_SECRET=cookiesecret
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.