node.js 프로젝트 세팅

henry·2024년 11월 11일

새 프로젝트 폴더를 생성


터미널 창에 npm init 명령어를 입력해 npm을 초기화


Server 개발에 필요한 모듈/라이브러리 설치

npm i express mongoose body-parser cors jsonwebtoken bcryptjs nodemon

  • express
    • Node.js에서 서버와 API를 구축할 수 있는 웹 애플리케이션 프레임워크
  • mongoose
    • MongoDB와 Node.js 간의 데이터 모델링을 돕는 ODM(Object Data Modeling) 라이브러리
  • dotenv
    • 애플리케이션 설정 값을 .env 파일에서 환경 변수로 불러와 보안과 설정 관리
  • body-parser
    • 요청(Request) 본문을 파싱하여 req.body로 사용할 수 있게 하는 미들웨어
  • cors
    • 다른 출처 간 요청을 허용해주는 미들웨어로, 보안과 접근을 설정
  • jsonwebtoken
    • 사용자 인증 및 보안에 사용되는 JSON Web Token을 생성하고 검증하는 라이브러리
  • bcryptjs
    • 비밀번호를 해싱하여 보안성을 높이는 라이브러리로, 사용자 인증에서 사용
  • nodemon
    • 코드 변경 시 자동으로 서버를 재시작해 변경 사항을 반영해주는 개발 도구

프로젝트 초기 설정

  • App.js 파일 생성

  • 설치한 모듈/라이브러리 사용 설정

const express = require('express');

  • Express 모듈을 불러와 웹 서버를 구축할 수 있도록 준비

const mongoose = require('mongoose');

  • Mongoose 모듈을 불러와 MongoDB와의 데이터베이스 연결을 쉽게 할 수 있도록 설정

const bodyParser = require('body-parser');

  • body-parser 모듈을 불러와 요청 본문(body)을 파싱할 수 있는 기능을 제공

const cors = require('cors');

  • CORS 모듈을 불러와 다른 도메인에서의 요청을 허용할 수 있도록 설정

const app = express();

  • Express 애플리케이션 객체를 생성하여 서버로 활용하도록 설정

require('dotenv').config;

  • dotenv를 불러와 .env 파일의 환경 변수를 설정할 수 있도록 설정

app.use(cors());

  • CORS 설정을 전역으로 활성화하여 모든 도메인에서의 요청을 허용(app.use(cors())로 수정하는 것이 더 일반적입니다).

app.use(bodyParser.urlencoded({ extended: false }));

  • URL 인코딩된 데이터(HTML 폼 형식)를 파싱하여 req.body에서 사용할 수 있도록 설정

app.use(bodyParser.json());

  • JSON 형식의 요청 본문을 파싱하여 req.body에서 사용할 수 있도록 설정

DB연결 설정

const mongoURI = process.env.LOCAL_DB_ADDRESS;
.env 파일에 저장된 LOCAL_DB_ADDRESS 환경 변수 값을 가져와 mongoURI에 할당합니다. 이 값은 MongoDB의 연결 주소입니다.

mongoose
.connect(mongoURI, { useNewUrlParser: true })

  • Mongoose를 사용해 MongoDB에 연결
  • { useNewUrlParser: true } 옵션은 새로운 MongoDB URL 파서 사용을 지정

app.listen(process.env.PORT || 5000, () => {
console.log('Server ON');
});

  • process.env.PORT에 지정된 포트(지정되지 않았을 경우 5000번)에서 요청을 수신 대기
  • 서버가 정상적으로 시작되면 "Server ON"이라는 메시지를 콘솔에 출력

nodemon 설정

  • 현재 스크립트 설정

  • "start": "nodemon app.js" 설정 추가


npm start

  • 서버 구동 성공

0개의 댓글