UNPKG

@tys/vite-plugin-vue-page-route

Version:

A vite plugin for vue, auto generate route info by page

48 lines (42 loc) 1.45 kB
# @tys/vite-plugin-vue-page-route 中文 | [English](./README.en_US.md) Vite 插件,根据页面文件自动生成路由声明、路由组件的导入、路由模块的定义。 ## 用法 ```ts import { defineConfig } from 'vite'; import pageRoute from '@tys/vite-plugin-vue-page-route'; export default defineConfig({ plugins: [pageRoute({ pageDir: 'src/views', // 默认 pageGlobs: ['**/index.{vue,tsx,jsx}', '!**/components/**'], // 默认 routeDts: 'src/typings/page-route.d.ts', // 默认 routeModuleDir: 'src/router/modules', // 默认 routeModuleExt: 'ts', // 默认 routeModuleType: 'AuthRoute.Route', // 默认 /** * @example _builtin_login => login */ routeNameTansformer: name => name.replace(/^_([a-zA-Z]|[0-9]|$)+_*/, ''), // 默认 /** * 路由懒加载 * @param name 路由名称 * @example * - 直接导入 * ```ts * import Home from './views/home/index.vue'; * ``` * - 懒加载导入 * ```ts * const Home = import('./views/home/index.vue'); * ``` */ lazyImport: _name => true, // 默认 /** * 是否生成路由模块 * @param name 未转换过的路由名称(没有调用函数routeNameTansformer) * @returns 是否生成路由模块的代码 */ onRouteModuleGenerate: name => !name.includes('_builtin') // 对于系统内置路由不生成路由模块, 其他的都生成 })] }); ```