express / nodemon / CORS / dotenv / morgan

yunny·2023년 1월 23일
0

westudy

목록 보기
5/15

nodemon

Node에서는 코드에서 수정이 일어났을 때, 코드 수정 사항이 서버에 자동으로 반영되지 않음
코드 수정하고나면 서버를 계속 다시 켜줘야 함..
이를 해결하기 위해 nodemon 이라는 패키지 이용

$ npm install nodemon     # local dependency install
$ npm install -g nodemon  # global install

-g 를 통해 global 변수로 nodemon을 설치할 수 있음
이는 CLI 에서 실행 가능하고, 프로젝트 전역에 걸쳐서 재사용 가능
=> nodemon은 global 설치 권장

pacakage.json 내부에 npm script start에 명령어 추가

$ "scripts": {
    "start": "nodemon app.js"
  }

CORS

Cross-Origin Resource Sharing
CORS 설정을 통해서 서로 다른 두개의 origin/domain 끼리의 데이터를 주고 받게 됨

$ npm install cors

해당 과정을 생략한다면 CORS 정책 위반을 이유로 웹 브라우저 차원에서 서버 통신 막음

Dotenv 환경변수

dotenv 라이브러리는 디폴트로 .env 파일로부터 환경변수를 읽어옴

// .env

DB_HOST=localhost
DB_USER=root
DB_PASS=myPassword

CommonJS에서 환경 변수 불러오기(require)
자바스크립트 파일의 최상위에 dotenv 라이브러리를 임포트한 후 config()함수 호출하기

// app.js

require("dotenv").config();

console.log("DB_HOST:", process.env.DB_HOST);
console.log("DB_USER:", process.env.DB_USER);
console.log("DB_PASS:", process.env.DB_PASS);

config()함수 위치 중요!

Morgan

npm에서 사용되는 로그 관리를 위한 여러 패키지 중 하나
morgan을 사용하면 http(s) 통신시 프론트-백엔드 간 소통시
필요한 '기본 정보'들을 자동으로 포매팅하여 편리하게 주고 받을 수 있게 됨

기본 정보 : status code, http version 등의 메타 정보

const express = require('express');
const logger = require('morgan'); // morgan 모듈 추가하기

const app = express();

app.listen(3000, () => { console.log('Running on port 3000');});
profile
기록하지 않으면 잊어버려요 !

0개의 댓글

관련 채용 정보