@composy/router-vue

Vue 3 router library with enhanced features, built on vue-router
Install
npm install @composy/router-vue
Latest Version:0.0.2
Vue:3
License:MIT
Last Updated:Oct 12, 2026
Links: Gitee  ·  npm
Maintainer: swimly

@composy/router-vue

面向 Vue 3 的路由适配层。基于 vue-router,并复用 @composy/router-core 的路径工具、类型和部分核心能力。

包定位

  • 核心能力来源:@composy/router-core
  • Vue 运行时来源:vue + vue-router
  • 本包负责:
    • createRouter() / useRouter() / useRoute()
    • 路由组件
    • composables
    • 配置注入
    • devtools 辅助
    • 可选的 LDesign engine plugin

安装

pnpm add @composy/router-vue vue vue-router

如果你还要接入 LDesign Engine:

pnpm add @composy/engine-core

快速开始

import { createRouter, createWebHistory } from '@composy/router-vue'
import { createApp } from 'vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    { path: '/', component: () => import('./views/Home.vue') },
    { path: '/about', component: () => import('./views/About.vue') },
  ],
})

const app = createApp(App)
app.use(router)
app.mount('#app')

主要能力

Router API

  • createRouter()
  • useRouter()
  • useRoute()
  • createWebHistory()
  • createWebHashHistory()
  • createMemoryHistory()

组件

  • RouterView
  • RouterLink
  • RouterTabs
  • RouterBreadcrumb
  • RouterModal
  • RouterSkeleton
  • RouterGuard

Composables

  • 基础:useParams()、useQuery()、useHash()、useMeta()
  • 匹配与路径:useRouteMatch()、useFullPath()、useRouteName()
  • 类型增强:useTypedParams()、useTypedQuery()、useTypedMeta()
  • 导航守卫:onBeforeRouteLeave()、onBeforeRouteUpdate()
  • 增强能力:useNavigationState()、useBreadcrumb()、useRouteTitle()、useRouteWatcher()、useRouteScroll()、useRouteDebounce()

配置与插件

  • provideRouterConfig()
  • injectRouterConfig()
  • installRouterConfig()
  • createRouterPlugin()
  • createRouterEnginePlugin()
  • createDefaultRouterEnginePlugin()

适配与开发辅助

  • vueAdapter
  • VueComponentLoader
  • VueViewRenderer
  • VueSSRRenderer
  • VueErrorBoundary
  • setupDevtools()

依赖边界

  • 运行时必需:@composy/router-core、vue-router
  • peer 依赖:vue、vue-router
  • 可选扩展依赖:@composy/engine-core,仅在使用 engine plugin 时需要

构建与校验

在 packages/router/packages/vue 目录下:

pnpm build
pnpm type-check
pnpm test
node --experimental-strip-types ../../../../scripts/index.ts workspace:check-package-outputs --cwd ../../ --target vue

build 统一使用 @composy/builder 的 Rolldown 引擎,并在构建后归一化发布产物。发布目录包括 dist(浏览器/UMD 与压缩入口)、es 和 esm(ESM 与声明文件)、lib(CJS 与声明文件);最后一条命令会验证所有公开入口是否与 package.json 声明一致。

构建配置、ESLint 配置和 TypeScript 项目配置统一维护在 .ldesign/;包根 eslint.config.js 与 tsconfig*.json 是供工具兼容使用的入口。

相关文档

  • ../core/README.md
  • ../vanilla/README.md

License

MIT © LDesign Team

Related Packages

vue-router-spa-tabs

Tabbed Navigation for Vue Router in Single Page Applications

985 0
vue-router-ns

Vue Router's API for NativeScript-Vue, built on top of the native navigation sta...

0 11
vue-router-newtab

Cmd/Ctrl+click support for newTab router.push() navigation for Vue 3 + Vue Route...

17,540
vue-navigation

A page navigation library, built with vue2 and vue-router2.

6,916 1,017
vue-router-tiny

A router for Vue.js

562 3

Version History

Version Released Vue License
0.0.2 3.5.32 MIT
0.0.1 ^3.5.32 MIT