풀스택 맛보기5-Router
Router
- 컨트롤러와 URL 관리를 쉽게 해준다.
라우터 생성
const globalRouter = express.Router();
const handleHome = (req, res) => res.send("Home");
globalRouter.get("/", handleHome);
export
- controller를 외부로 보낸 때 사용
export const [controller] // Each export default [controller] // ALl
import 예시
- export const [controller] // 이름 그대로 사용
- export default [controller] // 이름 변경 가능
URL Parameter
url에 변수를 넣을 수 있게 해준다.
export const edit = (req, res) => {
console.log(req.params);
return res.send("Edit");
};
postRouter.get("/upload", upload);
postRouter.get("/:id", see);
postRouter.get("/:id/edit", edit);
Url 입력 http://localhost:4000/posts/12345/edit 결과
{ id: '12345' }
GET /posts/12345/edit 200 1.455 ms - 4
upload를 id 위에 넣은 이유?
request가 오면 express는 위에서 아래로 코드를 읽는데
:id가 위에 있다면 upload 또한 id로 인식하기 때문이다.
URL id에 숫자만 받기
정규표현식 (\d+) 사용 JS에서는 (\\d+) 역슬래시 추가하여 사용
예시
app.get("/:id(\\d+)", see);
=> id를 숫자로만 받게된다.
정규표현식
- 문자열로부터 특정 정보를 추출해내는 방법
apple and pineapple
다음은 pug를 사용하여 html을 return하는 방법을 알아보자.
Continue with PUG
참고