vue实现根据目录结构生成路由

Vue Router 动态路由匹配:根据条件渲染页面 Vue Router 是 Vue.js 官方提供的路由库,专门用于实现单页面应用(SPA)中的路由功能。它使得不同的 URL 显示不同的页面内容,在用户点击链接或导航时,不会触发页面的完整刷新,而是通过动态加载页面内容来更新视图。在 Vue Router 中,路由是通过routes配置数组来定义的,其中每一项路由对应一个路径和一个组件。routes});动态路由匹配是 Vue Router 提供的一个强大功能,可以帮助我们根据 URL 或其他条件动态渲染不同的页面。 阅读详情

目录结构

在这里插入图片描述

页面效果图

在这里插入图片描述

路由文件 router/index.js

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

var routes = [

]
const files = require.context('../views2', true, /.vue/)
let pages = {};
//生成路由规则
let generator = [];
files.keys().forEach(key => {
  pages[key.replace(/(\.\/|\.vue)/g, '')] = files(key).default;
});
console.log(pages)
//生成所有路由
Object.keys(pages).forEach(item => {
	console.log(item)
	if (item !== 'App') {
    let file_name = item.split('/')[0];
	  generator.push({
		  path: file_name == 'home' ? '/' :'/' + file_name,
		  name: file_name,
		  meta:{
			  active:item
		  },
		  component: pages[item]
	  })
	}
});
console.log(generator)
routes = [...generator];

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  // base: '/vdemo',
  routes
})

export default router

main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

App.vue

<template>
  <div id="app">
    <nav>
      <span v-for="(item, index) in routerList" :key="index">
        <router-link :to="item.path" >{{item.name}}</router-link> <template v-if="index < (routerList.length-1)">| </template>
      </span>
    </nav>
    <router-view/>
  </div>
</template>
<script>
  export default{
    data(){
      return{
        routerList: []
      }
    },
    created(){
      this.$router.options.routes.forEach(route => {
          this.routerList.push({
              name: route.name,
              path: route.path
          })
      })
    }
  }
</script>
<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

nav {
  padding: 30px;
}

nav a {
  font-weight: bold;
  color: #2c3e50;
}

nav a.router-link-exact-active {
  color: #42b983;
}
</style>

NOC总线架构拓扑介绍 在开篇里,我们对芯片PPA有了初步的认识。下面,让我们从访存这个简单的问题开始展开介绍芯片基础概念。CPU是怎样访问内存的?简单的答案是,CPU执行一条访存指令,把读写请求发往内存管理单元。内存管理单元进行虚实转换,把命令发往总线。总线把命令传递给内存控制器,内存控制器再次翻译地址,对相应内存颗粒进行存取。之后,读取的数据或者写入确认按照原路返回。再复杂些,当中插入多级缓存,在每一层缓存都未命中的情况下,访问才会最终达到内存颗粒。 阅读详情

相关推荐

①Modbus TCP转Modbus RTU/ASCII网关同步采集无需编程高速轻松组网

MS-A1-50X1系列作为MODBUS TCP通信的服务器进行动作。可通过MODBUS TCP 通信,将 MS-A1-50X1 系列产品通过 RS485 采集的仪器仪表之类的值作为通信数 据输出到 PLC,上位机等。

2401_89571741的博客 1398

快速自动生成vue路由,vue-cli项目中src目录下的views中的路由

只能小型项目可以这样玩玩,减少手动写路由规则的繁琐。代码实现原理就是利用fs和path模块,递归src/views目录生成vue路由规则。没有使用任何vue插件。

qiaonan911的博客 1685

手把手教你用AppsFlyer SDK实现延迟深度链接(附Android/iOS代码示例)

本文详细介绍了如何使用AppsFlyer SDK实现延迟深度链接,提供Android和iOS双平台代码示例,帮助开发者解决跨平台精准跳转与用户归因问题。通过实战案例和高级场景分析,提升应用的用户转化率和广告投放效果。

sre5engineer的博客 701

Vue2中利用webpack动态生成路由

利用webpack来根据目录结构动态生成路由,将对路由的维护集中到路由组件本身,降低维护的难度。

2301_76250038的博客 1424

ESP32-IDF HTTP服务器实战:从零搭建Web控制界面

本文详细介绍了如何在ESP32平台上使用ESP-IDF框架从零搭建HTTP服务器,并创建Web控制界面。内容涵盖环境配置、服务器基础设置、Web页面处理、GPIO控制接口实现及AJAX异步请求处理,帮助开发者快速掌握物联网设备Web控制开发。

efc123456的博客 1063

OAI数据集申请与实战:从权限获取到医学影像分析应用

本文详细介绍了OAI数据集的申请流程与医学影像分析实战应用。从NDA账户注册、数据下载技巧到骨盆X光关键点检测的完整实现,帮助医学研究者高效利用这一权威骨关节炎数据集。特别分享使用Pei Y标注数据训练U-Net模型的经验,包括预处理、注意力机制优化等实用技巧。

weixin_30275415的博客 479

vue动态获取目录结构进行配置静态路由

项目中动态配置路由可以减少路由配置时间,并可减少配置路由出现的一些奇奇怪怪的问题路由配置化可统一定义相关属性等

失眠时间的博客 1043

【ceph】OSD-基本存储单元

OSD 是 Ceph 的基本存储单元,负责对象的存储、检索和数据副本的管理。每个 OSD 进程通常对应于存储集群中的一个物理或虚拟存储设备(如硬盘或 SSD)。OSD 是 Ceph 的关键组成部分,负责对象的存储、管理和复制。通过多个 OSD 共同协作,Ceph 能够提供高可用性、可扩展性和容错能力,适用于各种存储需求。

qq_42853133的博客 1998

Vue实现动态路由

动态添加路由。说着好像很简单,但看了很多教程,也跟着教程写了很多代码,但最后都跑不通(很多原因,比如:版本问题,教程没有全部代码,只有核心代码片段等)。😭😭😭所以,我只能狠下心,写下这篇博客,方便自己总结,也为了避免大家踩坑。废话不多说,

无所谓^_^博客 1万+

基于树莓派5的AR头显开发:从硬件选型到Unity整合全解析

增强现实(AR)技术通过将虚拟信息叠加到真实世界,为用户提供沉浸式交互体验。其核心原理依赖于计算机视觉进行环境感知与空间定位,并结合实时3D渲染实现虚实融合。在工程实践中,嵌入式平台因其低成本、低功耗特性,成为探索AR应用边界的重要载体。本项目以树莓派5为核心,通过集成OpenCV进行ArUco标记识别实现精准空间定位,并利用MediaPipe完成手势交互,最终在Unity引擎中完成虚实场景的实时渲染与融合,为开发者提供了一个完整的、可亲手实践的AR系统开发方案。

weixin_32430941的博客 254

华为OD机试 - 服务中心选址(Python)

一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址:使服务中心到所有区域的距离的总和最小。先输入区域数组positions的长度n(1 ≤ n ≤ 10^5)接下来 n 行每行输入成对的left和right值,以空格隔开。输出为location。

m0_46181452的博客 282

【vue3+vite+vue-router】动态引入某个目录下的文件自动生成路由

使用vite提供的import.meta.glob,对指定目录下的文件都可以自动引入作为子路由进行注册,文件名直接作为path和name(注意name不能重复,如果重复的话可以在前面或者后面添加一个字符串作为标识),免去了复杂繁琐的引入步骤。

lcc0628的博客 3797

GameFramework 框架详解之 Network网络模块 工具链

GameFramework(下面简称GF)Demo中,已经给我们提供了Network模块使用的protobuf使用的动态链接库protobuf-net.dll,但是GF并没有给我们提供protobuf相关的工具链,比如:1.proto文件自动导出对应c#的Packet类和PacketHandler类2.导出Packet类继承IReference以便使用引用池。3.自动生成Packet类和PacketHandler的Id,且保持和服务器Id一一对应。

TxNet 2903

从零开始学Vue3--根据目录结构自动生成路由

我们在测试或者小项目中经常遇到一个问题,就是加一个页面,就要在router.js中加一个路由,相当的麻烦,有没有办法可以根据目录结构自动生成路由呢?

Cloud的专栏 1267

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

vue、nuxt、uniapp实现全局路由拦截的方式和区别

vue、nuxt、uniapp的路由实现和拦截方式

weixin_38468473的博客 925

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

vue-element-admin框架 根据登录人的角色动态切换路由控制展示目录

情景:项目是用vue-element-admin框架搭建的,因为登录人有角色,要求根据不同的角色要有不同的菜单目录结构,大致思路如下: 1 因为一开始我安装的是基础版本的,但是这个动态路由需要用到集成版本中store/modules/permission.js 文件,用于状态管理。 2 路由中会区分两种:一种是没有权限都可以访问的页面比如登录页面、404页面、默认访问页面等;还有一种就是需要根据角色访问的动态路由了例如: // 都可以访问的路由 export const constantRoutes = [

L_csdn123的博客 2727

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Vue编写的html如何自动化,vue 自动化路由实现代码

1.需求描述在写vue的项目中,一般情况下我们每添加一个新页面都得添加一个新路由。为此我们在项目中会专门的一个文件夹来管理路由,如下图所示那么有没有一种方案,能够实现我们在文件夹中新建了一个vue文件,就自动帮我们添加路由。特别在我们的一个ERP后台项目中,我们几乎都是一个文件夹下有很多子文件,子文件中一般包含index.vue, detail.vue, edit.vue,分别对应的事列表页,详情...

weixin_42525387的博客 251

vue将每个路由打包成html,vue项目功能菜单配置自动生成路由及代码切割

功能菜单配置自动生成路由及代码切割菜单即路由,共享配置html约定views目录中存放业务组件;业务模块分文件夹存放,路由主组件使用index命名存放在以路由名的目录下。vueviews **业务组件└── base 业务分组目录,对应router目录中的菜单组├── about ...

weixin_42365303的博客 1047

router vue 动态改变url_vue动态路由

什么叫动态路由呢?顾名思义就是程序员眼中的硬编码与非硬编码的区别。还是拿之前的静态路由来做对比import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const globalRoutes = [ {path: '/test', component: () => import('pages/Test.v...

weixin_32858247的博客 851

vue根据后端菜单数据生成动态路由

动态路由初体验,存在不足,欢迎点评指正~ 前言:在之前的项目中,菜单是动态获取的,而路由是写死的,配置路由的时候只要保证路由的path与菜单的index(elementUI的el-menu组件)相同就可以实现路由跳转,只是菜单改了的话,路由也得相应修改,否则就会找不到页面。当时之所以没有研究动态路由是觉得跳转的页面是路由指定的,如果路由变成动态获取的话,前端的页面文件命名和目录结构都得根据后端的数据调整,也不是很灵活,但是…最近后端调整了数据,发现好多路由没有匹配到,都跳转到了一个重定向/redirect

wusq的博客 9362

vue自动路由生成

标题vue-cli自动路由生成 在写vue的项目中,一般情况下我们每添加一个新页面都得添加一个新路由。为此我们在项目中会专门的一个文件夹(router)来管理路由,在一个大型项目中,会根据需要配置对应的路由规则,而对应的路由规则对应一个vue文件路径,所以我们的文件夹和路由是完全能够对应上的,只要知道路由,就能很快的找到对应的文件。那么有没有办法能够读取我们二级目录下的所有文件,然后根据文件名来生成路由呢?答案是有的 原理require.context webpack就提供了一个context方法来获取

qq_24800489的博客 2012

vue 根据菜单自动生成路由(动态配置路由)

vue 根据菜单自动生成路由(动态配置前端路由)1.创建项目2.新建文件3.到main.js中4.先把菜单组件写好,到menu.vue中5.注册全局组件6.到router文件夹写好路由模块6.1 base-router.js中写好我们需要的固定的路由6.2 lm-router.js中写动态配置路由的方法6.3 index.js中写路由入口7.容器页和加载页7.1 layout.vue7.2 loading.vue8.写筛选菜单和路由的方法9. 登录成功后生成路由 在需要权限控制的页面,往往存在根据用户来显示

东扯葫芦西扯瓜——前端小菜鸟的博客 5688

vue3 vite 根据views下的目录自动生成路由

vue3 vite 根据目录自动生成路由

心若有所向往,何惧道阻且长。 1026

VueJS 之路由

在 VueJS 中,路由可以理解为 Hash 地址 与 组件 的映射关系。由于 VueJS 构建的是单页面应用程序,在构造具有如下效果的页面时,无法直接切换页面(因为仅有一个页面),但可以通过切换组件来达到相同的效果。路由在 VueJS 及 Web 后端中的概念稍有不同,但都表示某两者之间的映射关系。锚点是网页制作中超级链接的一种,是一种能够定位当前页面的元素的超级链接。

两个月亮 1011

VueJS 官方路由之 Vue Router

Vue Router 是 VueJS 官方提供的路由插件,使用该插件你将能更加便利的管理 VueJS 创建的单页面应用程序(Single Page Web Application,SPA)中的组件间的动态切换。你可以使用 a 元素代替 router-link 元素,但并不推荐这么做。使用 router-link 而不是 a 元素可以使你获得来自 vue-router 的更多帮助。

两个月亮 1585

分享Vue3中的一个路由加载函数,基于Glob导入模式,根据路径自动生成路由

在大型项目中,手动定义所有路由可能会变得繁琐且容易出错。因此,编写一个能够根据文件结构自动生成路由的函数,可以极大地提高开发效率。本文将分享一个这样的函数,希望对你有所帮助......

专注前端、专注互联网、分享原创的博客 1222
上一篇: elementui el-upload在on-change中校验文件类型错误时隐藏文件列表
下一篇: mysql8下载安装(zip版)
if时光重来
博客等级 码龄8年 248粉丝 217原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值