mcpField
V
vue-router

vue-router

github.com/partme-aiDevelopment72578 installsUpdated 5w ago
Repository

About vue-router

A reference skill for configuring Vue Router in Vue 2 and Vue 3 projects. It covers route patterns, navigation guards, programmatic navigation, lazy loading, and route metadata.

Key features

  1. 01Vue 2 and Vue 3 routing
  2. 02Dynamic and nested routes
  3. 03Navigation guards
  4. 04Programmatic navigation
  5. 05Lazy-loaded routes and metadata

Use cases

  1. 01Add routes to a Vue application
  2. 02Restrict navigation with permission checks
  3. 03Load page components on demand
  4. 04Control layouts with route metadata

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/partme-ai/full-stack-skills --skill vue-router

After installing, type/vue-routerin Claude Code to confirm it loaded.

Bundled filesLICENSE.txt

Details

From the project README

When to use this skill

Use this skill whenever the user wants to:

  • Configure routing in Vue 2 or Vue 3 projects
  • Implement dynamic routes, nested routes, and named routes
  • Set up navigation guards (beforeEach, beforeResolve, afterEach)
  • Use programmatic navigation with router.push, router.replace
  • Implement lazy-loaded routes for code splitting
  • Handle route meta fields for permissions and layout control

How to use this skill

Workflow
  1. Identify the Vue version (Vue 2 uses Vue Router 3.x, Vue 3 uses Vue Router 4.x)
  2. Configure routes with the appropriate API
  3. Add navigation guards for authentication and authorization
  4. Implement lazy loading for large page components
1. Vue Router 4 (Vue 3) Setup
import { createRouter, createWebHistory } from 'vue-router';

const routes = [
  { path: '/', component: () => import('./views/Home.vue') },
  { path: '/users/:id', component: () => import('./views/UserDetail.vue'), props: true },
  {
    path: '/admin',
    component: () => import('./views/Admin.vue'),
    meta: { requiresAuth: true },
    children: [
      { path: 'dashboard', component: () => import('./views/AdminDashboard.vue') },
    ],
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

// Navigation guard
router.beforeEach((to, from) => {
  if (to.meta.requiresAuth && !isAuthenticated()) {
    return { path: '/login' };
  }
});

export default router;
2. Vue Router 3 (Vue 2) Setup
import Vue from 'vue';
import VueRouter from 'vue-router';

Vue.use(VueRouter);

const router = new VueRouter({
  mode: 'history',
  routes: [
    { path: '/', component: () => import('./views/Home.vue') },
    { path: '/about', component: () => import('./views/About.vue') },
  ],
});
3. Programmatic Navigation
// Vue 3 with Composition API
import { useRouter } from 'vue-router';

const router = useRouter();
router.push({ name: 'user', params: { id: '123' } });
router.replace('/home');
router.go(-1);

Best Practices

  • Centralize route guards for permission checks; lazy-load large page components
  • Use named routes with params/query for type-safe navigation; avoid storing sensitive data in routes
  • Prefer createWebHistory for clean URLs; configure server-side fallback for HTML5 history mode
  • Use route meta fields for layout control, breadcrumbs, and access control

Resources

Keywords

vue router, routing, navigation guards, Vue 3, Vue 2, lazy loading, dynamic routes, nested routes, meta fields, programmatic navigation, createRouter

Comments

Markdown supported