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"
}
Cross-Origin Resource Sharing
CORS 설정을 통해서 서로 다른 두개의 origin/domain 끼리의 데이터를 주고 받게 됨
$ npm install cors
해당 과정을 생략한다면 CORS 정책 위반을 이유로 웹 브라우저 차원에서 서버 통신 막음
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()함수 위치 중요!
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');});