[javascript] Backbone.js에서 라우터(Router)의 역할과 사용법

Backbone.js는 웹 애플리케이션을 만들기 위한 JavaScript 라이브러리로서, MVC(Model-View-Controller) 패턴을 따릅니다. 그 중에서도 라우터(Router)는 사용자의 요청에 따라 적절한 뷰(View)를 렌더링하거나 다른 라우터로 리다이렉션하는 역할을 합니다. 이번 블로그 포스트에서는 Backbone.js에서 라우터의 역할과 사용법에 대해 알아보겠습니다.

1. 라우터의 역할

라우터는 URL과 그에 따른 액션을 매핑하여 웹 애플리케이션의 라우팅을 담당합니다. 사용자가 웹 애플리케이션에서 다른 페이지로 이동하거나 특정 동작을 수행하고자 할 때, URL을 통해 해당 동작을 실행할 수 있습니다. 이때 라우터는 URL을 해석하여 적절한 액션을 수행하고, 그 결과를 뷰에 반영합니다.

2. 라우터의 사용법

Backbone.js에서 라우터를 사용하기 위해서는 다음과 같은 단계를 따라야 합니다:

2.1. 라우터 클래스 정의하기

다음과 같이 Backbone의 라우터 클래스를 정의합니다:

var AppRouter = Backbone.Router.extend({
  routes: {
    "": "home",
    "page1": "page1",
    "page2/:id": "page2"
  },

  home: function() {
    console.log("Home page");
    // Home 페이지를 렌더링하는 코드
  },

  page1: function() {
    console.log("Page 1");
    // Page 1을 렌더링하는 코드
  },

  page2: function(id) {
    console.log("Page 2 with id: " + id);
    // Page 2를 렌더링하는 코드
  }
});

var router = new AppRouter();

이 예제에서는 세 개의 라우팅 규칙을 정의하고, 각각에 대한 액션을 구현하였습니다. routes 객체는 URL 패턴과 액션 이름을 매핑하는 역할을 합니다.

2.2. 라우터 시작하기

라우터를 시작하기 위해서는 Backbone.history.start() 메소드를 호출해야 합니다. 이 메소드는 URL을 확인하여 알맞은 라우터를 호출하고, 해당 액션을 실행합니다.

Backbone.history.start();

위의 코드를 실행하면, 현재 URL에 해당하는 라우터의 액션이 호출됩니다.

2.3. URL 변경하기

Backbone.js에서 URL을 변경하기 위해서는 navigate 메소드를 사용합니다. navigate 메소드의 첫 번째 인자는 변경할 URL이고, 두 번째 인자는 trigger 옵션입니다. trigger 옵션이 true로 설정되면, 라우터가 자동으로 해당 URL에 맞는 액션을 수행합니다. 기본값은 false입니다.

router.navigate("page1", { trigger: true });

위의 코드를 실행하면, 현재 페이지의 URL이 “page1”로 변경되고, page1 액션이 수행됩니다.

3. 마무리

이번 포스트에서는 Backbone.js에서 라우터의 역할과 사용법에 대해 알아보았습니다. 라우터를 사용하면 웹 애플리케이션의 URL을 통해 사용자 요청을 처리하고, 적절한 액션을 수행할 수 있습니다. Backbone.js의 라우터는 강력한 기능을 제공하며, 복잡한 웹 애플리케이션의 라우팅을 효과적으로 관리할 수 있습니다.

더 자세한 내용은 Backbone.js 공식 문서를 참고하세요.