0.0.3 • Published 10 months ago

@ibjs/vite-plugin-vue-page-route v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

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

A Vite plugin for vue, auto generate route info by page, include route declaration, route file import, route module const.

Usage

import { defineConfig } from "vite";
import pageRoute from "@ibjs/vite-plugin-vue-page-route";

export default defineConfig({
  plugins: [
    pageRoute({
      pageDir: "src/views", // default
      pageGlobs: ["**/index.{vue,tsx,jsx}", "!**/components/**"], // default
      routeDts: "src/typings/page-route.d.ts", // default
      routeModuleDir: "src/router/modules", // default
      routeModuleExt: "ts", // default
      routeModuleType: "AuthRoute.Route", // default
      /**
       * @example _builtin_login => login
       */
      routeNameTansformer: (name) =>
        name.replace(/^_([a-zA-Z]|[0-9]|$)+_*/, ""), // default
      /**
       * whether the route is lazy import
       * @param name route name
       * @example
       * - the direct import
       * ```ts
       * import Home from './views/home/index.vue';
       * ```
       * - the lazy import
       * ```ts
       * const Home = import('./views/home/index.vue');
       * ```
       */
      lazyImport: (_name) => true, // default
      /**
       * whether generate the route module
       * @param name the route name, which is not transformed(not execute function routeNameTansformer)
       * @returns boolean
       */
      onRouteModuleGenerate: (name) => !name.includes("_builtin"), // not generate route module for the builtin routes, but other routes will
    }),
  ],
});