더북(TheBook)

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

콘솔

$ 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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.