Wordle Clone Project 10일차

PROLCY·2022년 10월 24일

Wordle-Clone-Project

목록 보기
9/15

오늘은 10월 24일 10일차이다.

목표

  • 서버 기초 작업

진행

서버는 Node.js를 기반으로 express를 활용하여 구축할 것이다. 이를 위해서 프로젝트 시작 전에 React와 더불어 Node.js도 공부를 했었다. 그래서 일단은 오늘은 가장 기초적인 부분만 만들었다. package.json을 만들었고, 정보들을 입력했다. nodemon을 -D 옵션을 줘서 설치했고, start 명령어에 nodemon을 걸어놨다. 그 후 미들웨어에 필요한 패키지들을 설치했는데, 내가 공부했던 책에서 사용했던 것들만 설치했고, 추후 필요해지면 다른 패키지도 찾아서 설치할 예정이다. 패키지는 다음과 같다.

  • morgan
  • static
  • cookie-parser
  • express-session
  • dotenv

그리고 이번 기회에 npm에 기록되어 있는 각 패키지들의 문서들 및 express 공식 문서 일부분도 읽어봤다. 책으로 공부할 때는 그럴 시간도 없었고 엄두조차 안나서 읽어보지 못했는데, 확실히 공식 문서를 읽어보니 어떻게 사용하면 되는지 명확히 알 수 있었다. 개발자의 의도를 쉽게 파악할 수 있었다. 미들웨어에 연결한 후, 4000번 포트에 연결시키고 간단한 응답을 보내면서 서버를 실행했다.

코드

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 || 4000);

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.get('/', (req, res) => {
    res.send('Hello, Express');
});

app.listen(app.get('port'), () => {
    console.log(app.get('port'), '번 포트에서 대기 중');
});


잘 구동되고 있다. 로그도 정상적으로 뜬다.

보충할 것

  • 서버에 어떤 기능들을 넣어야 하는지 생각

내일 할 것

  • 서버에 어떤 기능을 넣을지 고민하고, 구현

마무리

오늘은 백엔드 첫 날이라 가볍게 시작해봤다. 아무리 프론트의 UI/UX가 잘 되어 있다고 해도 서버가 불안정하다면 의미없다고 생각한다. 그만큼 더 공부하고 집중해서 서버를 구성해야겠다.

0개의 댓글