CLI. Router

Hajun Song·2022년 11월 20일
0

Vue

목록 보기
1/2
import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'

/*
세가지 라우트 설계 방법
  0. 상단 import를 통해 초기로드 시 app.js와 함께 불러오기(트랜스파일).
    0-0. 위와 같이 라우팅 시 경로가 많아질 수록 초기 로딩속도가 늘어남.
  1. 라우트 내 동적 임포팅을 통해 경로 접근 시에만 로드.
    1-0. 별개의 js파일로 트랜스파일 되며 webpackChunkName 프로퍼티를 이용해 네이밍 가능.
    1-1. 위와 같이 라우팅 시 해당 용량이 클 경우 페이지 경로 변경 및 로드시 사용자 경험 감소.
    1-*. 사이즈가 작아 이동하는 순간 받아와도 되는 페이지에 사용.
  2. 라우트 내 동적 임포팅 + webpackPrefetch를 통해 초기 로드시 캐싱, 이후 불러오기.
    2-0. 별개의 js파일로 트랜스파일 되지만 초기 로딩시 함께 불러와 캐싱.
    2-*. 사이즈가 크지만 접속할 확률이 높은 페이지에 사용.
*/

const routes = [
  {
    // path: router-link의 to 프로퍼티와 동일한 값
    // name: 유일한 이름(중첩시 한 곳만 적용 - 비정상)
    // component: <router-view/> 위치에 나타낼 컴포넌트
    path: '/',
    name: 'home',
    component: HomeView
  },
  {
    path: '/about',
    name: 'about',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () =>
      import(
        /* webpackChunkName: "about", webpackPrefetch:true */ '../views/AboutView.vue'
      )
  }
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

export default router

profile
일단 똥을 싸라, 그리고 박수칠 때 까지 닦아라.

0개의 댓글