08
08

누르면 Express API들을 확인 할 수 있는 공식문서로 이동합니다. 한번은 내용을 읽어보시는것을 강력히 추천드립니다. 번역기를 돌려도 좋습니다.

1. req.query

  • 요청에 따라 그에 맞는 라우터 경로의 매개 변수를 입력해 주면 그 값을 반환해준다.
  • URL에서 보면? 뒤에 존재하는 값을 'Querystring'라고 하고, 그것을 반환하는 것이다.
  • 하나의 라우터로 Querystring을 바꿔 주어서 비동기적으로 path값과 상관없이 다른 값을 줄 수 있다는 말이다!
// GET /search?q=tobi+ferret
console.dir(req.query.q)
// => 'tobi ferret'

2. req.params

  • 요청에 따라 그에 맞는 라우터 경로의 매개 변수를 입력해 주면 그 경로를 반환해 준다.
  • 말 그대로, URL 경로 부분을 얻을 수 있다.
  • req.path보다 더 주로 쓰인다. (req.body도 마찬가지)
// GET /user/tj
console.dir(req.params.name)
// => 'tj'

3. express.json();

  • 객체 형태의 데이터를 json형식으로 간단하게 바꿔주는 express에 딸린 기능.
  • 옛날에는 'body parser'라고 하면서, 거창하게 사용하였지만 express v4.16.0 이상이라면 저렇게 사용하면 된다.
const express = require("express");
const app = express();
const port = 3001;

app.use(express.json());

app.post("/", function(req, res) {
	console.log(req.body);
		res.send(req.body);
})

app.listen(port, () => {
  console.log(`[RUN] http://localhost:${port}`);
});

4. express.static();

  • html 문서를 서버에서 가져올 때 연결되어 있는 css나 js 파일은 함께 가져오지 않는다. 이때, 모든 파일들을 static으로 설정한 폴더 안에 넣어놓고 경로를 맞춰주면 모두 다 같이 딸려오게 된다.
const express = require("express");
const app = express();
const cors = require("cors");
const path = require("path");

const PORT = 5000;
const ip = "localhost";

app.use(express.static("public"));
app.use(express.json({ strict: false }));
app.use(cors());

app.get("/", (req, res) => {
  res.sendFile(path.join(__dirname, "../public", "index.html"));
});

app.listen(PORT, ip, () => {
  console.log(`http server listen on ${ip}:${PORT}`);
});

// 서버가 데이터를 가공하는 부분은 생략.

5. express.path();

  • 경로를 굳이 쓰지 않아도 상대적 경로로 표현할 수 있다.
  • '__dirname'은 지금 서버가 실행되고 있는 폴더가 된다. 그곳부터 다시 찾아서 원하는 경로로 가면 된다.
  • 예시는 위에 static에서 사용되고 있기 때문에 생략한다!
COMMENT