Vite-自动生成Vue路由

大部分Vue项目使用路由都是在src/router/index.ts中增加routes的配置,如下图

我们可以看到routes的配置重复的代码非常多,且当我们项目页面开始变多时,routes里的元素也会越来越多。

自动生成路由

当我们在页面目录下新建页面文件时,自动帮我们完成routes的配置。

src下新建views目录(项目的页面)

每个页面有个page.ts文件用去设置页面的meta属性

typescript 复制代码
// page.ts
export default {
    title: "登录页面",
};

自动生成路由逻辑

在src/router/index.ts中书写逻辑

typescript 复制代码
import { createRouter, createWebHistory } from "vue-router";

// 读取views下的page.ts文件
const pages = import.meta.glob("../views/**/page.ts", {
    eager: true,
    import: "default",
});
// 读取views下的index.vue文件
const pageComponents = import.meta.glob("../views/**/index.vue");

const routes = Object.entries(pages).map(([pagePath, meta]) => {
    const path = pagePath.replace("../views", "").replace("/page.ts", "") || "/";
    const name = path.split("/").filter(Boolean).join("-") || "index";
    const component = pagePath.replace("page.ts", "index.vue");

    return {
        name,
        path,
        component: pageComponents[component],
        meta,
    };
});



const router = createRouter({
    routes,
    history: createWebHistory(),
});

export default router;

总结

生成的routes结构符合路由配置,并且也大大减少了我们手动增加代码的工作量。

相关推荐
PedroQue991 天前
Vite插件v1.1.0发布:自动导入全面重构
前端·vite
YFF菲菲兔2 天前
Environment API 总述
vite
至乐活着2 天前
Vite 构建工具原理解析与实战:从 ES Module 到极速 HMR
vite·热更新·构建工具·前端工程化·es module
linsk19982 天前
React18、19如何兼容 IE9、IE10
react·rollup·vite·兼容·ie
夕夕木各6 天前
从第一个 PR 到 Vite 官方中文文档维护者
github·vite
布兰妮甜7 天前
从 0 搭建企业级 Vue3/Vite 脚手架(规范、eslint、husky、打包、环境变量全流程)
typescript·vue3·vite·脚手架·前端工程化
HexCIer9 天前
面向未来的原子化 CSS:UnoCSS 核心架构分析与 Tailwind CSS 现状
前端·css·vite
触底反弹10 天前
🔥 保姆级教程|SSE + BFF + 跨域三件套,从零实现 ChatGPT 流式输出(附完整代码)
人工智能·node.js·vite
先吃饱再说10 天前
LLM 流式输出的“中间商”方案:BFF 层到底在做什么?
llm·vite
小林ixn11 天前
从BFF到SSE:我在Vue项目里藏了个“AI翻译官”
前端·vue.js·vite