Express is a routing and middleware web framework that has minimal functionality of its own: An Express application is essentially a series of middleware function calls.
미들웨어 함수는 요청 오브젝트(req), 응답 오브젝트 (res)에서 중간 역할을 하는 함수입니다.
미들웨어 함수에서는 next함수를 통해 다음 미들웨어로 요청을 넘길 수 있다.
따라서 호출 순서가 큰 영향을 준다.
app.use('/user/:id', function(req, res, next) {
console.log('Request URL:', req.originalUrl);
next();
}, function (req, res, next) {
console.log('Request Type:', req.method);
next();
});
app.get(), app.post()등과 달리 요청 URL을 지정하지 않아도 app.use()를 사용할 수 있으며 해당 경우에는 URL에 상관없이 매번 실행된다.
app.use("/api", testRouter);
라우터 연결 하는 역할
app.use(function(err, req, res, next) {
console.error(err.stack);
res.status(500).send('Something broke!');
});
서비스 중간에 오류를 관리 할 수 있다.
express.static(root, [options])
특성 | 설명 | 유형 | 기본값 |
---|---|---|---|
dotfiles | dotfile을 제공하기 위한 옵션입니다. 사용 가능한 값은 “allow”, “deny” 및 “ignore”입니다. | 문자열 | “ignore” |
etag | etag의 생성을 사용 또는 사용 안함으로 설정합니다. | 부울 | true |
extensions | 파일 확장자 폴백을 설정합니다. | 배열 | [ ] |
index | 디렉토리 인덱스 파일을 전송합니다. 디렉토리 인덱스 작성을 사용하지 않으려면 false를 설정하십시오. | 혼합 | “index.html” |
lastModified | OS에서 해당 파일이 마지막으로 수정된 날짜를 Last-Modified 헤더에 설정합니다. | 부울 | true |
사용 가능한 값은 true 또는 false입니다. | |||
maxAge | 밀리초 또는 ms 형식의 문자열로 Cache-Control 헤더의 max-age 특성을 설정합니다. | 숫자 | 0 |
redirect | 경로 이름이 디렉토리인 경우 후미부의 “/”로 경로를 재지정합니다. | 부울 | true |
setHeaders | 파일을 제공하도록 HTTP 헤더를 설정하기 위한 함수입니다. | 함수 | - |
app.use(cookieParser());
npm을 통해 추가 설치된 모듈을 앱에 로드해주는 역할을 한다.