Express란 Node.js를 위한 빠르고 간편한 웹 프레임워크이다.
현재 Node.js 에서 가장 많이 사용되는 프레임워크이다.
npm install express
express 모듈을 불러온 후 Express application을 생성한다.
const express = require("express");
const app = express();
listen 메소드를 사용하여 server가 외부 request들을 listening 하도록 대기시킨다.
로컬 3000번 포트와 연결했다.
app.listen(3000, (req, res) => {
console.log("서버 연결");
});
http://localhost:3000 으로 접속을 하면 아직 라우팅을 하지 않았기 때문에 아래와 같은 에러가 발생한다.
http method에 따라 응답을 보낼 수 있다.
app.get("/", (req, res) => {
res.send("Hello world");
});
app.post("/cats", (req, res) => {
res.send("cats post request");
});
지정한 요청이 아닐 경우 *
를 사용할 수 있다. (최상단에 작성하면 모든 요청이 이곳에서 걸리기 때문에 가장 아래에 위치시킨다.)
app.get("*", (req, res) => {
res.send(`i don't know that path!`);
});
콜론 :
을 이용하여 :subreddit
자리에 어떠한 요청이 들어와도 params
메서드를 통해 값을 받아올 수 있다.
app.get("/r/:subreddit", (req, res) => {
const { subreddit } = req.params;
res.send(`<h1>Browsing the ${subreddit} subreddit`);
});
query
메서드를 이용하여 아래와 같이 사용할 수 있다.
app.get("/search", (req, res) => {
const { q } = req.query;
if (!q) {
res.send("검색 결과가 없습니다.");
} else {
res.send(`<h1>검색 결과: ${q}</h1>`);
}
});