웹 프레임워크 : 공통된 구조를 먼저 제시함으로써, 무에서 유를 만들어낼 때 용이하고 그에 맞는 서비스들을 제공하는 형태
그럼에도 불구하고 장점이 단점을 상쇄하기 때문에 프레임워크를 사용하는 것이 바람직하다.
Node 서버로 구성된 웹 환경에서는 기본적으로 제공되는 로깅(네트워크 통신기록) 기능이 없기 때문에 log관리를 위해 라이브러리 사용을 권장하고, 그 중 Morgan은 npm에서 사용되는 로그 관리를 위한 여러 패키지들 중 하나이며 많은 Node 개발자들이 사용하고 있다.
Morgan은 http 통신 시 프론트-백 간 소통 시 필요한 정보들을 자동으로 포매팅하여 주고받을 수 있게 해준다.
initailizaing
npm init -y : npm 초기화하는데 여러가지 정보를 넣어야하지만 생략하고 Default 값으로 한다는 -y를 붙혀줌
dependencies : 배포 환경에서 필요한 라이브러리와 패키지를 정리하는 키값
Devdependencies : 개발 환경에서 필요한 라이브러리와 패키지를 정리하는 키값
이 둘의 차이점을 알아 둘 필요가 있다. (언제 배포환경이고 언제가 개발환경인지?)
nodemon은 추후에 package.json 파일의 script 부분에 추가하여서 명령어를 만드는데, CLI환경에서 사용되는 것이기 때문에 전역 변수로써 설치 시 -g를 붙혀주는것을 추천한다.
내가 만들 express서버를 app이라는 변수명에 담아 실행시키고 실행시킨 app에 .use메서드를 사용해서 어떤 것들을 app이라는 express서버 안에서 사용할 것인지 명시해준다.
@ Morgan의 기본 세팅은 morgan('combined')로 할 수 있고 다양한 옵션들이 존재한다.
app.use를 명시해주면 명시한 라이브러리 또는 절차를 한 번 걸치고 난 다음 밑에 get이나 post같은 메서드들을 실행시킬 수 있음.
3개의 파일을 만들어 줘야한다.
.gitignore : 숨김파일들을 git에 업로드 시키지 않기 위해
.env.sample : .env에 들어갈 내용들을 양식에 맞게 넣어라 라는 식으로 적어서 github에 업로드 할 수 있음.
ex) PORT 번호가 실제로는 3000번이지만, sample 파일에서는 PORT =
.env : 환경변수 지정을 위해
써주는 이유는 외부에서 들어온 다양한 양식의 데이터들을 json형식으로 parsing 할 수 있도록 만들어주는 기능.
node만 사용했을 때의 JSON.parse(body)와 같은 기능
Cross Origin Resource Sharing의 약자로
다른 도메인이 서로 통신하려고 할 때 엄격한 통신을 완화시켜줄 수 있음.
초기환경의 기초만 배운것이며, 앞으로 공식문서들을 활용하면서 내가 원하는 환경세팅을 할 수 있도록 커스터마이징 하는 작업 또한 거쳐야 할 것.