vuejs/router
vue-router
Version:
5.0.3 (Feb 2026)
Deps:
@babel/generator@^7.28.6, @vue-macros/common@^3.1.1, @vue/devtools-api@^8.0.6, ast-walker-scope@^0.8.3, chokidar@^5.0.0, json5@^2.2.3, local-pkg@^1.1.2, magic-string@^0.30.21, mlly@^1.8.0, muggle-string@^0.4.1, pathe@^2.0.3, picomatch@^4.0.3, scule@^1.3.0, tinyglobby@^0.2.15, unplugin@^3.0.0, unplugin-utils@^0.3.1, yaml@^2.8.2
Tags:
next: 4.0.13 (Feb 2022), legacy: 3.6.5 (Sep 2022), edge: 4.4.0-alpha.3 (Jun 2024), beta: 5.0.0-beta.2 (Jan 2026), latest: 5.0.3 (Feb 2026)
References:
Docs
— API reference, guides
API Changes
This section documents version-specific API changes — prioritize recent major/minor releases.
NEW:
vue-router/vite
— v5 ships the Vite plugin (formerly
unplugin-vue-router/vite
) directly in the core package; import from
vue-router/vite
instead
source
NEW:
vue-router/auto-routes
— v5 export that provides the auto-generated file-based route list; previously required
unplugin-vue-router
as a separate package
source
NEW:
vue-router/unplugin
— v5 export for Webpack/Rollup/esbuild plugins and utilities (
VueRouterAutoImports
,
EditableTreeNode
,
createRoutesContext
, etc.); previously imported from
unplugin-vue-router
source
NEW:
DataLoaderPlugin
+
defineBasicLoader
(experimental) — v5 adds data loaders directly to
vue-router/experimental
; previously in
unplugin-vue-router/data-loaders
. Install
DataLoaderPlugin
before
the router with
app.use(DataLoaderPlugin, { router })
source
NEW:
defineColadaLoader
(experimental) — Pinia Colada-backed loader available at
vue-router/experimental/pinia-colada
; previously
unplugin-vue-router/data-loaders/pinia-colada
source
NEW:
NavigationResult
(experimental) — class from
vue-router/experimental
returned inside a loader to redirect during navigation (e.g.
return new NavigationResult('/login')
); previously did not exist in vue-router
source
NEW: Volar plugins moved to
vue-router/volar/sfc-typed-router
and
vue-router/volar/sfc-route-blocks
— previously
unplugin-vue-router/volar/sfc-typed-router
and
unplugin-vue-router/volar/sfc-route-blocks
source
NEW:
TypesConfig
module augmentation — v4.4+ interface used to register
RouteNamedMap
for typed routes; augment with
declare module 'vue-router' { interface TypesConfig { RouteNamedMap: RouteNamedMap } }
source
BREAKING: IIFE build no longer bundles
@vue/devtools-api
— v5 upgraded devtools-api to v8 which has no IIFE build; affects CDN/script-tag setups that relied on the bundled devtools
source
NEW: Query params optional by default (experimental) — v5 file-based routing makes query params optional in typed routes by default
source
Also changed:
unplugin-vue-router
types/utilities moved to
vue-router/unplugin
(renamed) ·
route-map.d.ts
replaces
typed-router.d.ts
(renamed) ·
meta.loaders
array on route records for manually connecting data loaders (NEW, experimental) ·
router.currentRoute
is
Ref
vue-router-skilld
安装
npx skills add https://github.com/harlan-zw/vue-ecosystem-skills --skill vue-router-skilld