vue3 vite 路由去中心化(modules文件夹自动导入router)

通过路由去中心化可实现多人写作开发,不怕文件不停修改导致的冲突,modules中的文件可自动导入到index.js中
在这里插入图片描述

// 自动导入模块
const files = import.meta.globEager('./modules/**.js');
const modules = {}
for (const key in files) {modules[key.replace(/(\.\/modules\/|\.js)/g, '')] = files[key].default
}
Object.keys(modules).forEach(item => {routes.push(...modules[item]);
})
// 路由router/index.js
import { createRouter, createWebHistory } from "vue-router";
import { forLogin } from "@/utils/forLoign";
import Index from "@/layout/Index.vue";
import IndexNoMenus from "@/layout/IndexNoMenus.vue";const routes = [{path: "/index",name: "index",redirect: "/",component: Index,meta: {auth: true,keepAlive: false,title: "",},children: [{path: "/",name: "home",component: () => import("@/views/home.vue"),meta: {auth: true,keepAlive: false,title: "首页",},}],},{path: "/",name: "IndexNoMenus",redirect: "/",component: IndexNoMenus,meta: {auth: true,keepAlive: false,title: "",},children: [],},{path: "/login",name: "login",component: () => import("@/views/login.vue"),meta: {auth: false,keepAlive: false,title: "登录",},},{path: "/404",name: "not-found",component: () => import("@/views/404.vue"),meta: {auth: false,keepAlive: false,title: "not-found",},},{path: "/:pathMatch(.*)*",redirect: "/404",meta: {auth: false,keepAlive: false,title: "not-found",},},
];// 自动导入模块
const files = import.meta.globEager('./modules/**.js');
const modules = {}
for (const key in files) {modules[key.replace(/(\.\/modules\/|\.js)/g, '')] = files[key].default
}
Object.keys(modules).forEach(item => {routes.push(...modules[item]);
})// console.log('modules', files, modules, routes);const router = createRouter({history: createWebHistory("/h5/"),routes,
});// 登录拦截跳转
router.beforeEach((to, from, next) => {// * console.log(to)forLogin(to, from, next);
});export default router;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 开发工具使用

c调试 在NDK调试的时候,如果找不到 符号的话,我们可以在调试配置中添加符号地址的全路径一直到根目录:,xxx/armeabi-v7a: You must point the symbol search paths at the obj/local/ directory. This is also not a …

【Vue】如何使用Webpack实现打包操作

一、Webpack介绍 Webpack最主要的作用就是打包操作,由两个核心部分构成分别是“出口”与“入口”。wbepack是现在比较热门的打包工具了,它可以将许多松散耦合的模块按照依赖和规则打包成符合生产环境部署的前端资源。说的直白一点,通过webpac…

基于单片机的配电网故障自适应监控系统设计

摘 要: 为解决配电网收集故障参数的误差补偿不足,谐波测量数据准确度较低的问题,提出基于单片机的配电网故障自适应监控 系统设计。在硬件中添加电平转换模块,利用数据储存器进行参数处理;使用SCADA软件实现数据的采集以及故障警告。 进行实验得到结果:设计系统对相关参数…

Linux 内核深入理解 - 绪论

目录 多用户系统 进程 内核体系架构 文件系统概述 Base 硬链接和软链接 Unix文件类型 文件描述符与索引节点 文件操作的系统调用 Unix内核简述 进程的实现 可重入内核 进程地址空间 同步和临界区 信号与进程之间的通信 进程管理 内存管理 虚拟内存 随机访问存…

漏洞端到端管理小总结

漏洞端到端管理最佳实践涵盖了从漏洞的发现、分析、修复到监控的整个过程,确保组织能够及时发现并应对安全威胁。以下是一些建议的最佳实践: 发现与评估: 资产识别与分类:对组织的所有网络资产进行彻底清查,包括但不限…

redission原理笔记

加锁成功的线程,将UUID和线程id和key绑定, 加锁成功后,内部有一个看门狗机制,每隔十秒看下当前线程是否还持有锁,延长生存时间。 没有获取锁的就一直自旋等待,直到超时。 如果redis是主从同步的&#xff0…

MySQL__深度分页问题

文章目录 😊 作者:Lion J 💖 主页: https://blog.csdn.net/weixin_69252724 🎉 主题: MySQL__深度分页问题) ⏱️ 创作时间:2024年04月27日 ———————————————— …

自动驾驶新书“五一”节马上上市了

我和杨子江教授合写的《自动驾驶系统开发》终于在清华大学出版社三校稿之后即将在五一节后出版。 清华大学汽车学院的李克强教授和工程院院士撰写了序言。 该书得到了唯一华人图灵奖获得者姚期智院士、西安交大管晓宏教授和科学院院士以及杨强教授和院士等的推荐,…

不使用加减运算符实现整数加和减

文章目录 进位 进位 加粗 最近想出了不使用运算符实现加与减 首先按位与找出的是需不需要进位 按位与是两边同时为1,则为1,那么如果两边同时为1的话,是不是就该进位?所以我们用按位与来判断是否需要进位 然后再按位异或找出不同的位数 按位异或是两边不相等,也就是1 和 0的时…

[每周一更]-(第94期):认识英伟达显卡

英伟达显卡:引领图形计算的领先者,显卡也常称为GPU(图形处理器 Graphics processing unit),是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上执行绘图运算工作的…

CVPR2022 ACmix 注意力模块 | On the Integration of Self-Attention and Convolution

论文名称:《On the Integration of Self-Attention and Convolution》 论文地址:2111.14556 (arxiv.org) 卷积和自注意力是两种强大的表示学习技术,通常被认为是两种截然不同的并列方法。在本文中,我们展示了它们之间存在一种强烈…

排序试题解析(二)

8.4.3 01.在以下排序算法中,每次从未排序的记录中选取最小关键字的记录,加入已排序记录的 末尾,该排序算法是( A ). A.简单选择排序 B.冒泡排序 C.堆排序 D.直接插入排序 02.简单选择排序算法的比较次数和移动次数分别为( C )。…

微信小程序手写文件解决日期少一天且格式无法切割问题

编译环境 微信开发者工具 问题 在小程序中无法实现对日期的切割,并且可能会出现日期少一天的问题,这个问题可以由后端进行解决,也可以前端,这里用了前端新建一个wxs转换文件进行解决。 比如数据库中的数据是2024-03-02… 但是返…

js动态设置css主题(Style-setProperty)

hex颜色转RGB hex2Rgb(str) {str str.replace("#", "");const hxs str.match(/../g);for (let index 0; index < 3; index) hxs[index] parseInt(hxs[index], 16);return hxs; } RGB转HXS rgb2hex(r,g,b){const hexs [r.toString(16), g.toString…

UE5蓝图 函数勾选线程安全的意义,我在动画蓝图状态机中调用了函数(gpt答复分享)

在Unreal Engine中&#xff0c;蓝图函数的“线程安全”选项通常用于确定该函数是否可以安全地在多线程环境下调用。线程安全意味着函数在执行时不会导致数据竞争&#xff0c;状态错误&#xff0c;或其他并发问题。如果一个函数是线程安全的&#xff0c;它就可以在不同的线程中同…

【小沐学Java】VSCode搭建Java开发环境

文章目录 1、简介2、安装VSCode2.1 简介2.2 安装 3、安装Java SDK3.1 简介3.2 安装3.3 配置 4、安装插件Java Extension Pack4.1 简介4.2 安装4.3 配置 结语 1、简介 2、安装VSCode 2.1 简介 Visual Studio Code 是一个轻量级但功能强大的源代码编辑器&#xff0c;可在桌面上…

如何使用小浪助手快速下载学浪中的视频?

今天给大家准备好了一个工具&#xff0c;小浪助手&#xff0c;它可以帮你们快速下载学浪中的视频 小浪助手我已经打包好了&#xff0c;有需要自己取一下 学浪下载工具链接&#xff1a;https://pan.baidu.com/s/1_Sg-EGGXKc4bMW-NPqUqvg?pwd1234 提取码&#xff1a;1234 --…

江苏宿迁服务器的优势有哪些?

江苏宿迁服务器是一款性能强大、稳定可靠的服务器&#xff0c;能够应用在各种应用场景当中&#xff0c;比如云计算、大数据分析等&#xff0c;接下来就让我们来了解一下江苏服务器的优势都有哪些吧&#xff01; 江苏宿迁服务器采用了优秀的散热技术&#xff0c;并且配置了多种安…

opencv动态识别人脸

import cv2 import os import numpy as npdef take_faces():while True:key input(请输入文件夹的名字&#xff0c;姓名拼音的缩写&#xff0c;如果输入Q&#xff0c;程序退出!)if key Q:break# 在faces_dynamic下面创建子文件夹os.makedirs(./faces_dymamic/%s % (key), exi…

【语音识别】搭建本地的语音转文字系统:FunASR(离线不联网即可使用)

参考自&#xff1a; 参考配置&#xff1a;FunASR/runtime/docs/SDK_advanced_guide_offline_zh.md at main alibaba-damo-academy/FunASR (github.com)参考配置&#xff1a;FunASR/runtime/quick_start_zh.md at 861147c7308b91068ffa02724fdf74ee623a909e alibaba-damo-aca…