2.0.6 • Published 5 months ago

vite-plugin-auto-vue-router v2.0.6

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

vite-plugin-auto-vue-router 一个基于 vue-router@4 封装的自动创建路由插件,因为不想手动导入 🐳🤪🐯

该插件能做什么?

1、根据指定目录自动创建路由,可选:动态加载、同步加载【同步加载首次访问会加载全部路由页面】

2、支持页面文件名中定义多个参数

3、页面跳转隐式传参

4、支持layout布局

Install

pnpm add vite-plugin-auto-vue-router -D

npm i vite-plugin-auto-vue-router -D

yarn add vite-plugin-auto-vue-router --dev
配置参数说明
参数名类型默认值说明
dirStringnull指定目录下的.vue生成路由
eagerBooleantruetrue默认一次加载所有路由页面,false动态加载,只加载当前访问的页面
ignoreArray['!**/src', '!**/components']默认过滤${dir} 目录下的src、components目录不创建为路由,
关于 ignore 参数,配置ignore不会复盖原来的默认值,它只会增加过滤条件

如果不想要默认配置的过滤条件,移步demo示例说明

// vite.config.ts
import { defineConfig } from 'vite';
import path from 'path';
import { fileURLToPath, URL } from "url";
import AutoVueRouter from 'vite-plugin-auto-vue-router';

export default defineConfig({
    plugins: [
        AutoVueRouter({
            dir: fileURLToPath(new URL('/src/pages/', import.meta.url))
        }),
    ],
})

// main.ts
import AutoVueRouter from 'virtual:auto-vue-router';
VueApp.use(AutoVueRouter, { /* options */ });
AutoVueRouter options 配置参数说明
参数名类型默认值说明
historyStringh5h5、hash、ssr
indexString'index'指定首页的path
errorPagePathString'404'访问页面不存在时的页面
h5 等于 createWebHistory
hash 等于 createWebHashHistory
ssr 等于 createMemoryHistory
页面文件名称中定义多参数
//页面文件名: detail[id,uid,order_id].vue
//实际访问path: /detail/21/testing123/987654321
import { useRoute } from 'vue-router';
const route = useRoute();
// 参数读取
console.log(route.params.id) // = 21
console.log(route.params.uid) // = testing123
console.log(route.params.order_id) // = 987654321
隐式传参, 插件内基于router.push 包了一层涵数而已Router.page,用于传输隐式参数
router.page(to, 'push||replace') 默认push
import {  useRoute, useRouter } from 'vue-router';
const Router = useRouter();
const route = useRoute();
// hiddenParams隐藏式参数传参,其实它与Router.push相同
// 例如:user.vue
Router.page({ 
    name: 'user-detail', 
    hiddenParams:{ id: 9876543567 }
})
// user/detail.vue
console.log(route.params.id) // = 21

// 若无隐式传参的需求可以直接用router.push 进行跳转
关于layout布局,如果你需要帮助?可以参考demo
2.0.3

5 months ago

2.0.5

5 months ago

2.0.4

5 months ago

2.0.6

5 months ago

2.0.2

5 months ago

2.0.1

2 years ago

2.0.0

2 years ago

1.1.1

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.5

2 years ago