42일차
TIL 210504 express
1.express ?
- Node.js 환경에서 웹 어플리케이션 혹은 api를 제작하기 위해 사용되는 프레임워크
- 미들웨어를 붙이기 쉽다.
- 자체 라우터를 제공한다.
2. 자주쓰이는 미들웨어
- 미들웨어는 다음 태스크 수행이 가능하다.
- 모든 코드를 실행
- 요청 및 응답 오브젝트에 대한 변경을 실행
- 요청-응답 주기를 종료
- 스택 내의 그 다음 미들웨어를 호출
- next 함수를 호출하면 앱 내의 그 다음 미들웨어 함수가 호출된다.
- 현재의 미들웨어 함수가 요청-응답 주기를 종료하지 않는 경우에는 next() 해서 그 다음 미들 웨어 함수에 제어를 전달해야 한다. 그렇지 않으면 해당 요청은 정지된채로 방치된다.
body-parser
미들웨어 : body(payload)를 받을때 쉽게 받을 수 있다.
const bodyParser = require('body-parser')
const jsonParser = bodyParser.json()
// 생략
app.post('/api/users', jsonParser, function (req, res) {
// req.body에는 JSON의 형태로 payload가 담겨져 있습니다.
})
cors 미들웨어
: 순수 Node.js 코드로 cors 헤더를 붙이려면, 응답 객체의 writehead 메소드 등을 이용해 일일이Access-contril-allow-*
헤더에 정의 해줬어야만 했지만 익스프레스는 간편하다.
const cors = require('cors')
// 생략
app.use(cors()) // 모든 요청에 대해 CORS 허용