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에서 사용되고 있기 때문에 생략한다!
'Coding > Today I Learned' 카테고리의 다른 글
2021.08.12(Tue.) <Storybook JS를 이용한 React 컴포넌트 디자인의 기초> (0) | 2021.08.12 |
---|---|
2021.08.09(Mon.) <Styled Components> (0) | 2021.08.09 |
2021.08.06(Fri.) <너무 간단하게 알아보는 미들웨어 Express> (0) | 2021.08.07 |
2021.08.04(Wen.) <서버 요청보내기 & CORS를 이겨먹는 법> (0) | 2021.08.04 |
2021.08.03(Tue.) <배열의 모든 부분집합 구하기> (0) | 2021.08.03 |