Skip to content

vue-micro-routerMobile-app-style navigation for Vue 3

Animated page stacks, modal dialogs, HUD controls — no URL routing. Just push('profile') and watch it animate.

Quick Start

bash
bun add vue-micro-router
bash
npm install vue-micro-router
bash
yarn add vue-micro-router
bash
pnpm add vue-micro-router
vue
<!-- App.vue -->
<script setup>
import { MicroRouterView } from 'vue-micro-router';
import 'vue-micro-router/styles';
import { appPlugin } from './app-plugin';

const config = {
  defaultPath: 'home',
  history: { enabled: true, maxEntries: 50 },
  gesture: { enabled: true },
};
</script>

<template>
  <MicroRouterView :config :plugins="[appPlugin]" />
</template>

Why not vue-router?

vue-routervue-micro-router
Navigation modelURL-based (/path/:param)Segment stack (home → home/menu → home/menu/settings)
Page transitionsManual (TransitionGroup)Built-in slide/fade + per-route customization
Multiple visible pagesNo (one route = one view)Yes — stacked pages render simultaneously
Modal dialogsDIYFirst-class with stacking, backdrop, focus trap
GUI overlays / HUDDIYFirst-class controls with auto-show/hide
Gesture navigationNoneSwipe-back from left edge
State persistenceNoneserialize() / restore()
Use caseWebsites, SPAsGames, mobile-style apps, kiosks, wizards

See the full comparison →