티스토리 뷰
728x90
오늘은 expressJS를 공부하기 위해서 공식 홈페이지에 존재하는 안내서를 정독 및 실습해보았다.
해당 포스트에는 이것을 진행하면서 알게된 사실이나 내용을 정리하고자한다.
시작
나는 안내서를 실습하기 위해 express-generator를 통해 express 기본 틀을 생성하였다.
express-generator를 설치했다면 아래와 같은 명령어를 통해 쉽게 생성할 수 있다.
express --view=pug myapp
라우팅
라우팅은 URI(또는 경로) 및 특정한 HTTP 요청 메소드(GET, POST 등)인
특정 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방법을 결정하는 것을 말합니다.
각 라우트는 하나 이상의 핸들러 함수를 가질 수 있으며, 이러한 함수는 라우트가 일치할 때 실행됩니다.
자료 : https://www.expressjs.com/
라우팅 예시
app.get("/", function (req, res) {
res.send("Hello world!!!");
});
app.get("/:name", function (req, res) {
res.send(`이와 같이 URL의 name을 인자로 불러올 수 있다. ${req.params.name}`);
});
미들웨어
미들웨어 함수는 요청 오브젝트(req), 응답 오브젝트 (res),
그리고 애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수 대한 액세스 권한을 갖는 함수입니다.
그 다음의 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시됩니다.
미들웨어 예시
router.get(
"/:name",
function (req, res, next) { // 1번 함수
if (req.params.name === "111") {
next("route"); // 해당 표현을 2번 함수를 지나갈 수 있다.
} else {
next();
}
},
function (req, res) { // 2번 함수
res.send(`hello ${req.params.name}!!`); // 요청-응답 주기를 종료시키기 때문에 아래에 있는 get 함수가 실행되지 않는다.
}
);
router.get("/:name", function (req, res) {
res.send(`That's not correct!!!`);
});
express.Router
express.Router 클래스를 사용하면 모듈식 마운팅 가능한 핸들러를 작성할 수 있습니다.
Router 인스턴스는 완전한 미들웨어이자 라우팅 시스템이며,
따라서 “미니 앱(mini-app)”이라고 불리는 경우가 많습니다.
express.Router 예시
// app.js
var testRouter = require("./routes/test");
...
app.use("/test", testRouter);
// test.js
var express = require("express");
var router = express.Router();
router.get("/", function (req, res) {
res.send("Hello world!!!");
});
...
module.exports = router;
참고
'개발 일기' 카테고리의 다른 글
[모각코] 모각코의 시작 (0) | 2021.03.06 |
---|---|
[동료 학습] 2021-02-15에 대한 피드백 (0) | 2021.02.16 |
[개발] 예외 처리에 대한 정리 (0) | 2020.12.15 |
[Windows Terminal] 터미널 시작 시 기본 프로그램 설정법 (0) | 2020.08.05 |
[C#] Boxing과 Unboxing 알아보기 (0) | 2020.06.13 |
댓글