이 글은 O'REILLY에서 출판한 Web Development with Node & Express책을 공부하며 작성한 글입니다.
2022.11.06 작성
익스프레스란?
Node.js의 웹 프레임워크로 프로젝트를 시작할 때, 프로젝트의 뼈대를 생성하는 유틸리티를 제공한다.
npm install express@4
라우트할 경로의 대소문자를 구분하지 않는다.
경로 끝에 슬래시('/')가 있든 없든 똑같이 동작한다.
쿼리스트링은 무시한다. (쿼리스트링은 url에서 '?' 뒤에 정보를 붙여 데이터를 전달하는 방식이다.)
와일드카드('*')를 사용할 수 있다.
_/about, /About/, /about, /About?foo=bar 은 모두 똑같이 동작한다._
_/about* 이라는 경로를 상위에서 설정했다면, /about/detail, /about/contents 는 모두 /about으로 연결된다. _
// app.METHOD('경로',함수 =>{
// 수행할 내용
// }
// METOHD 종류 [get,post,put,delete,all]
const express = require('express')
const app = express()
const port = process.env.PORT || 3000
app.get('/',(req,res) => {
res.type('text/plain')
res.send('응답할 내용')
})
더 깊게 Express를 알아보자면
Express는 라우팅 및 미들웨어 웹 프레임워크이다.
그렇다면, 미들웨어란?
ps.초보자는 미들웨어를 모르고 지나가도 될 것 같다. (읽다가 공부하기 싫어짐)
미들웨어는
쉽게 말해 함수이고, 애플리케이션의 요청-응답 주기에서 요청 객체(req),응답 객체(res)에 대한 접근 권한을 갖고 변형시킬 수 있다. 미들웨어 스택 내 다음 미들웨어 함수를 (일반적으로) next라는 이름으로 호출할 수 있다.
미들웨어 알아보기 - 공식 문서
미들웨어 알아보기 - 티스토리 정리 글
코드가 수정될 때마다 이를 서버에 반영하려면, index.js를 다시 실행시켜줘야하는 불편함이 있다.
그럴 때는 nodemon을 설치하고 nodemon index.js로 서버를 다시 시작하면 그런 수고로움을 덜 수 있다!
nodemon이란?
프로젝트 폴더의 파일들을 모니터링하고 있다가 파일이 수정되면 서버를 자동으로 restart 시켜주는 패키지이다.
npm install nodemon
package.json 에서 아래와 같이 바꿔주면 npm start로도 파일을 실행시킬 수 있다.
scripts :{
"start" : "nodemon {실행시킬 파일명}"
}