본문 바로가기

Programming/Node.js

[Node.js] express.Router

반응형

express.Router 클래스를 이용해 모듈러(modular)와 마운트 가능한 핸들러(handler)를 생성할 수 있다. 이를 통해 공통된, 반복된 작업량을 줄일 수 있다. 

 

아래 코드는 애플리케이션의 엔트리 포인트(entry-point)인 main.js 클래스에 Welcome 메시지를 로드하는 indexRouter라는 미들웨어 모듈을 마운트하는 내용이다.

 

/routes/index.js

var express = require('express');
var router = express.Router();
var template = require('../lib/template.js');

router.get('/', (request, response) => {
 
    var title = 'Welcome';
    var description = 'Hello, Charlie';
    var html = template.html(`<h2>${title}</h2>${description});
    response.send(html);
    
});

module.exports = router;
  • var router = express.Router(); 통해 클래스 생성 후 '[클래스 생성 변수].[요청 메소드]'를 통해 미들웨어를 정의한다.

 

  • module.exports = router; : 정의된 미들웨어 모듈을 사용하려면 반드시 module.exports = [모듈 이름]을 통해 외부 사용에 대한 설정이 필요하다.

 

main.js

var indexRouter = require('./routes/index.js');

app.use('/', indexRouter);
  • var indexRouter = require('./routes/index.js'); : 엔트리 포인트에 미들웨어 모듈을 사용하려면 우선 해당 미들웨어의 위치를 로드해야 한다.

 

  • app.use('/', indexRouter); : use()는 미들웨어 함수를 마운트하는 메소드. app(경로, 콜백함수) 형태로 작성한다.

 


참고

https://expressjs.com/ko/guide/routing.html

 

Express 라우팅

라우팅 라우팅은 애플리케이션 엔드 포인트(URI)의 정의, 그리고 URI가 클라이언트 요청에 응답하는 방식을 말합니다. 라우팅에 대한 소개는 기본 라우팅을 참조하십시오. 다음 코드는 매우 기본

expressjs.com

https://videlais.com/2019/12/29/learning-express-routers-part-2-planning-classes-as-routes/

 

Learning Express Routers: Part 2: Planning Classes as Routes

Learning Express Routers Part 1: Understanding Express MiddlewarePart 2: Planning Classes as Routes Express is a popular minimalist web framework for Node.js that provides functionality for cr…

videlais.com

반응형

'Programming > Node.js' 카테고리의 다른 글

[Node.js][Express] 기본 라우팅  (0) 2021.09.02
[Node.js] PM2 활용  (0) 2021.09.01
[Node.js][보안] sanitize-html 사용  (0) 2021.09.01
[Node.js] 작업 환경 구성 및 서버 실행  (0) 2021.07.29