Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크
즉 Node.js를 이용하여 웹서버에서 요청하고 전달 받는 리소스등을 좀더 간결하고 가독성이 쉽게 구현하기 위해 사용되는 모듈입니다.(Node.js를 사용하여 서버를 좀더 쉽게 구현!)
const express = require('express') //express란 이름으로 expree모듈을 할당
const app = express()//서버를 생성한다는 의미
const port = 3000 //포트번호
app.get('/', (req, res) => { //라우팅으로써 get메소드 요청이오면 res에 'Hello World!'를 담아 보낸다
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
}) //서버에서도 어느 포트에 동작을 실행할건지 나타냄
위의 코드를 읽고 이해를 해보면 기존 node.js를 이용하여 서버를 구현하는것보다 좀더 쉽고 간결하게 서버를 구현한것을 볼수 있다.
라우팅은 애플리케이션 엔드 포인트(URI)의 정의, 그리고 URI가 클라이언트 요청에 응답하는 방식을 말합니다. 응답하는 방식이 무엇인지를 나타낸다
미들웨어와 비슷하게 작동하는 여러 콜백 함수를 제공하여 요청을 처리할 수 있습니다. 유일한 차이점은 이러한 콜백은 next('route')를 호출하여 나머지 라우트 콜백을 우회할 수도 있다는 점입니다.
실행후 바로 res에 반환해주는 것이 아니라 다시한번 요청을 보낼수있거나 다음 라우트에 전달할수있습니다.
메소드중 res.json()을 알아두기를 바랍니다.
위 메소드는 JSON.parse()와 같은 의미를 나타내며 문자열로 변환을 해주는 역할입니다.
그러나 의미 해석을 JSON.parse()와 같이 바라보면 안된다는것을 알수있다.
res.json()의 의미가 res를 문자열로 반환하라는것 ⇒ X 이 아니라는 뜻입니다.
express에서 사용되는 res는 응답한다는 뜻으로 기존 javascript와 다른 문법을 사용하여
res.json('object') 로써 사용됩니다.
즉 json(object) object를 문자열로 변환하라는 뜻으로
object.json() === res.json(object) // 같은 뜻입니다.