当前位置: 首页 > Web前端 > vue.js

Vue-Router自动挂载到Vue实例上

时间:2023-03-31 18:59:09 vue.js

对于从事前端开发的人来说,只要用到Vue,基本离不开路由管理插件——Vue-Router。在开发中型或大型项目时,往往最重要的是在一个JS文件中配置一堆路由,无论是在团队协作还是代码可读性方面,这都不是一个特别好的实现方式开发商。如何更合理地管理和处理路由?什么是多文件管理路由?你想拆分成多个文件管理路径吗?多文件管理路由是指将路由拆分成多个文件,按照模块拆分,方便路由管理,更重要的是方便多人开发。是否拆分成多文件管理路由取决于项目的大小。如果一个小项目只有十几个路由配置,个人觉得没必要本末倒置,没必要拆成多个路由文件进行路由管理。如何实现自动路由挂载?1、在src文件夹下,新建一个专门人员的router文件夹,用专门的文件夹来管理路由。这是最优解。2.在router文件夹下,新建一个入口文件index.js做最基本的,就是写入口的地址,重定向(或者不重定向,看业务)3.在router文件夹下,创建一个新的src文件夹,以避免在项目太大或模块太多时使用路由器文件。文件夹下有一大堆JS文件,不堪入目。4.入口文件src/router/index.js代码示例:importVuefrom"vue"importVueRouterfrom"vue-router"Vue.use(VueRouter);letroutes=[]//遍历src文件夹下的路由文件存放在routeFiles数组中constrouteFiles=require.context("./src",true,/.js$/);//遍历数组,将路由文件中的路由数据合并到数组routeFiles.keys().forEach((key)=>{routes=[...routes,...routeFiles(key).default];});constrouter=newVueRouter({mode:"history",routes});router.beforeEach((to,from,next)=>{//这个是为了避免同路由的死点,导致Console报错。个人强迫症,可以忽略if(to.path===from.path){return}next();});exportdefaultrouter;5.main.js使用importVuefrom"vue"importrouterfrom"./router"//...dosomethingnewVue({router,render:h=>h(App)}).$mount("#app")综上所述,如果我们通过这种方式维护路由,在router/index.js中不需要过多引入,它会自动挂载到路由对象上,有更好的方法降低维护成本的朋友,可能想在下面挥墨如画的新人刚入手想想,还请多多关照,文笔不好。有趣的联排别墅