vue项目每增加一个新页面,都要重新配置路由。如果页面太多,路由器文件会很长。当然,我们也可以按模块单独配置路由,但总是需要手动配置。有办法吗?如何减少路由配置?require.context()为我们提供了解决方案require.context()有三个参数,分别是:directory:表示要检索的目录useSubdirectories:表示是否检索子文件夹regExp:匹配文件的正则表达式,通常是文件名importVuefrom'vue'importVueRouterfrom'vue-router'Vue.use(VueRouter)letroutes=[]//自动读取views文件夹下的所有vue文件constfiles=require.context('../views',true,/\.vue$/)files.keys().map((item)=>{letpath=item.slice(1).replace(".vue","").toLowerCase();//获取组件informationconstcomp=files(item).defaultconsole.log(comp);routes.push({path,name:comp.name,component:()=>import(`../views${item.slice(1)}`),});});//匹配/路由routes.unshift({path:'/',name:'Home',component:()=>import('../views/home/Home.vue'),})//当没有匹配到路由时,匹配一个404页面routes.push({path:'*',name:'Error',component:()=>import('../views/错误/index.vue'),})console.log(routes);常量路由r=newVueRouter({mode:"history",routes})export默认路由器
