awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
vuejs avatar

vuejs/vue-router

0
View on GitHub↗
18,898 stars·4,989 forks·JavaScript·MIT·30 viewsv3.router.vuejs.org↗

Vue Router

Vue.js Client-Side Router is a routing library that maps browser URLs to Vue.js components to enable the creation of single-page applications. It functions as a navigation engine that manages browser history and URL state to allow page transitions without full browser reloads.

The system utilizes a nested route manager to render hierarchical views that match complex URL structures. It includes navigation guard middleware to intercept, validate, or redirect route transitions before components are rendered. A client-side history handler synchronizes application state with the browser URL using either HTML5 History or hash-based modes.

The library covers broad routing capabilities including route parameterization for dynamic segments, route aliasing for multiple entry points, and browser history synchronization. It also provides UI rendering enhancements such as active link styling, accessibility state synchronization via aria-current attributes, and scroll behavior control for position restoration.

Navigation error handling is included to capture failures during route transitions and provide stack traces for debugging.

Features

  • Single Page Applications - Maps browser URLs to Vue.js components to enable seamless navigation without page reloads.
  • View-to-URL Mapping - Maps browser URLs to specific Vue.js components to enable single-page application navigation.
  • Access Control Guards - Implements route-level protection and redirection logic to validate user permissions before rendering views.
  • Navigation Guards - Provides interception functions that validate, redirect, or cancel route transitions before components are rendered.
  • Navigation Flow Control - Manages transitions between views to implement custom logic or guards before a route change completes.
  • Navigation Guards - Implements navigation guard middleware to validate or redirect route transitions before components are rendered.
  • Browser History Management - Synchronizes application state with the browser URL using HTML5 History or hash-based modes.
  • Browser Navigation Utilities - Manages browser history and URL state to enable seamless page transitions without full browser reloads.
  • Navigation Middleware - Implements asynchronous hook functions to validate or redirect navigation before the browser history is updated.
  • Client-Side Routers - Provides a comprehensive client-side routing library for mapping URLs to components in Vue.js applications.
  • Navigation History Providers - Provides a consistent interface to synchronize application state with both HTML5 History and hash-based browser history modes.
  • Nested Routing - Supports hierarchical navigation by rendering child components into nested outlets based on URL path segments.
  • Routing Configurations - Defines declarative route structures including URL parameters and nested hierarchies for data-driven layouts.
  • Client-Side Navigation Management - Controls transitions between views and manages browser history to support bookmarking and back-button functionality.
  • Hierarchical Route Matching - Resolves the active component chain by traversing a hierarchical tree of route definitions.
  • Route Parameterization - Extracts dynamic segments and queries from the URL to pass specific data into views.
  • Scroll Behavior Control - Controls window scrolling behavior during navigation using smooth transitions or manual restoration.
  • Scroll Restoration - Remembers vertical scroll offsets and restores them automatically when navigating back through history.
  • View Transitions - Applies animations and controls scroll behavior during transitions between different application views.
  • Reactive State Management - Connects URL path changes to a reactive state object to trigger automatic UI updates.
  • Route Path Aliasing - Allows creating alternative URL paths that resolve to the same component for multiple entry points.
  • Router State Access - Provides mechanisms to retrieve current route information and the router instance during component setup.
  • Routing and Navigation - The official routing library for Vue.js applications.
  • Web Frameworks - Official router for Vue.js.

Star history

Star history chart for vuejs/vue-routerStar history chart for vuejs/vue-router

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Vue Router

These projects share indexed features with Vue Router. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • vuejs/routervuejs avatar

    vuejs/router

    4,638View on GitHub↗

    Vue.js Client-Side Router is a routing library for Vue.js that synchronizes the browser URL with application state to enable single-page application navigation. It functions as a URL-to-component mapper, rendering specific components based on the current URL path and dynamic route patterns. The project serves as a browser history manager that controls how internal routes map to the browser URL using various history strategies. It also provides a navigation guard framework to execute logic and access control during route transitions. The library covers dynamic route management, programmatic U

    TypeScriptvuevue-router
    View on GitHub↗4,638
  • visionmedia/page.jsvisionmedia avatar

    visionmedia/page.js

    7,681View on GitHub↗

    page.js is a client-side JavaScript router for single-page applications that maps URL patterns to executable functions. It functions as a navigation engine and browser history manager, implementing a middleware-based path-mapping system similar to the Express web framework. The library distinguishes itself through an Express-style router model, utilizing a middleware callback chain and a shared context object to pass data between navigation handlers. It supports advanced window management, allowing for multiple router instances to handle navigation independently across different windows or em

    JavaScript
    View on GitHub↗7,681
  • lhorie/mithril.jslhorie avatar

    lhorie/mithril.js

    14,490View on GitHub↗

    Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and reactive UI framework, providing a system to synchronize application state with visual elements to ensure interfaces update instantly. The toolkit includes a built-in client side router that maps browser URL paths to specific components without reloading the page. It also features an integrated HTTP request client for performing asynchronous network calls to remote APIs for data retrieval and transmission. The framework covers broad capabilities for frontend development, incl

    JavaScript
    View on GitHub↗14,490
  • molefrog/woutermolefrog avatar

    molefrog/wouter

    7,845View on GitHub↗

    Wouter is a minimalist client-side routing library for React and Preact. It uses a hook-based system to map URL paths to components, managing navigation and URL state without requiring a mandatory provider. The library is designed for cross-ecosystem compatibility between React and Preact and supports server-side rendering by accepting initial paths and search strings during markup generation. It includes a URL parameter manager for extracting dynamic path segments and query strings from the browser address bar. Capabilities include hierarchical nested routing, programmatic navigation manage

    TypeScript
    View on GitHub↗7,845
Compare all 30 related projects→

Frequently asked questions

What does vuejs/vue-router do?

Vue.js Client-Side Router is a routing library that maps browser URLs to Vue.js components to enable the creation of single-page applications. It functions as a navigation engine that manages browser history and URL state to allow page transitions without full browser reloads.

What are the main features of vuejs/vue-router?

The main features of vuejs/vue-router are: Single Page Applications, View-to-URL Mapping, Access Control Guards, Navigation Guards, Navigation Flow Control, Browser History Management, Browser Navigation Utilities, Navigation Middleware.

Which projects share features with vuejs/vue-router?

Projects with overlapping indexed features include: vuejs/router — Vue.js Client-Side Router is a routing library for Vue.js that synchronizes the browser URL with application state to… visionmedia/page.js — page.js is a client-side JavaScript router for single-page applications that maps URL patterns to executable… lhorie/mithril.js — Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and… molefrog/wouter — Wouter is a minimalist client-side routing library for React and Preact. It uses a hook-based system to map URL paths… swup/swup — Swup is a page transition library and AJAX page loader designed to create seamless, animated transitions between pages… tencent/omi — Omi is a web components framework, reactive UI library, and client-side routing engine. It provides a system for…