[javascript] Vue Router의 라우터 매칭자

Vue Router는 Vue.js 애플리케이션에서 사용되는 공식 라우팅 라이브러리입니다. 라우터 매칭자(router matcher)는 URL의 경로에 따라 어떤 컴포넌트를 렌더링할지 결정하는 핵심적인 부분입니다. 이 블로그에서는 Vue Router의 라우터 매칭자에 대해 자세히 알아보겠습니다.

라우터 매칭 과정

Vue Router의 라우터 매칭은 다음과 같은 과정을 거칩니다.

  1. URL 해시 또는 HTML5 history 모드를 설정합니다. Vue Router는 기본적으로 URL의 해시 모드를 사용하지만, 설정에 따라 HTML5 history API를 사용할 수도 있습니다.

  2. 라우터 인스턴스를 생성하고 라우트(경로, 컴포넌트 매핑)를 정의합니다. vue-router 패키지를 사용하여 라우터를 생성하고, 정적 또는 동적 라우트를 정의합니다.

  3. 현재 URL에 해당하는 라우트를 찾습니다. Vue Router는 현재 URL을 기반으로 라우트 매칭을 수행합니다. 이때 라우터 매칭자가 사용됩니다.

  4. 일치하는 라우트에 따라 컴포넌트를 렌더링합니다. 라우터 매칭자가 URL에 대응하는 라우트를 찾으면 해당 라우트에 정의된 컴포넌트를 렌더링합니다.

라우터 매칭자의 역할

라우터 매칭자는 사용자가 방문한 URL과 라우터에 정의된 라우트 간의 매칭을 담당합니다. 일반적으로 URL의 경로를 기준으로 라우트를 찾아 해당하는 컴포넌트를 렌더링합니다. 라우터 매칭자는 vue-router 내부에서 동작하며, 개발자는 직접적으로 이를 조작하거나 변경할 수 있는 방법은 제한적입니다.

사용 예시

다음은 Vue Router의 라우터 매칭을 사용한 간단한 예시입니다.

const routes = [
  { path: '/home', component: Home },
  { path: '/about', component: About }
]

const router = new VueRouter({
  mode: 'history',
  routes
})

이 예시에서 routes 배열에는 경로와 컴포넌트를 매핑한 정적 라우트가 정의되어 있습니다. 라우터 인스턴스를 생성할 때 이 routes 배열을 이용하여 라우터를 초기화합니다.

결론

라우터 매칭자는 Vue Router의 핵심적인 부분으로 URL과 라우트 간의 매칭을 담당합니다. Vue Router를 사용하여 다양한 라우팅 패턴을 쉽게 구현할 수 있으며, 라우터 매칭자는 이를 가능하게 하는 핵심적인 요소입니다.

참고문헌: Vue Router 공식 문서