<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Vue路由模塊化配置的完整步驟

        來源:懂視網 責編:小采 時間:2020-11-27 21:52:23
        文檔

        Vue路由模塊化配置的完整步驟

        Vue路由模塊化配置的完整步驟:前言 企業運營后臺頁面很多,路由如若不區分模塊化配置,所有路由擠在同一個文件將不好維護,所以路由的配置也要模塊化 分享兩個解決方案 —— Vue 路由配置的模塊化(Plan A and Plan B) 注冊需要 首先路由注冊需要啥 // main.js new Vue
        推薦度:
        導讀Vue路由模塊化配置的完整步驟:前言 企業運營后臺頁面很多,路由如若不區分模塊化配置,所有路由擠在同一個文件將不好維護,所以路由的配置也要模塊化 分享兩個解決方案 —— Vue 路由配置的模塊化(Plan A and Plan B) 注冊需要 首先路由注冊需要啥 // main.js new Vue

        例如

        然后配置 modules 里面模塊路由

        // 配置 other
        import err from '@/views/others/Error.vue'
        export default function(router) {
         router.push({
         path: '/error',
         name: 'error',
         component: err
         })
        }
        // 配置 accoutReport
        export default function(router) {
         router.push({
         path: '/accout-report',
         redirect: '/accout-report/list'
         })
         // 列表
         router.push({
         path: '/accout-report/list',
         name: 'list',
         component: () => import('@/views/accoutReport/List.vue')
         })
         // 新增
         router.push({
         path: '/accout-report/create',
         name: 'create',
         component: () => import('@/views/accoutReport/Create.vue')
         })
         // 編輯
         router.push({
         path: '/accout-report/edit/:id',
         name: 'edit',
         component: () => import('@/views/accoutReport/steps/CreateStep2.vue')
         })
         // 詳情
         router.push({
         path: '/accout-report/detail/:id',
         name: 'detail',
         component: () => import('@/views/accoutReport/Detail.vue')
         })
        }

        如有其他模塊,依次像上面一樣配置

        關鍵是路由配置入口出口文件 index.js

        // index.js
        import Vue from 'vue'
        import Router from 'vue-router'
        import App from '@/views/Layouts.vue'
        import otherRouter from '@/router/modules/others'
        import accoutReport from '@/router/modules/accoutReport'
        // import store from '@/stores'
        Vue.use(Router)
        
        let routes = []
        
        let rootRouter = {
         path: '/',
         component: App,
         children: [],
         redirect: '/accout-report/list'
        }
        
        let redirectRouter = {
         path: '*',
         redirect: '/error'
        }
        
        otherRouter(rootRouter.children)
        accoutReport(rootRouter.children)
        // 如有多個模塊,依次在這里配置
        
        const router = new Router({
         mode: 'history',
         routes: routes.concat([rootRouter, redirectRouter])
        })
        export default router

        上述代碼,除了 other,所有頁面路由配置在 rootRouter 的 children 下面,有一個父級 router 包裹著
        代碼都看得懂,這里就不多說哈~

        最后在 main.js 中注冊

        模塊拆分(Plan B)

        該方法較為難懂一些,可以看看

        目錄結構跟 Plan A 類似,不過在 src 下多了一個 router.js 配置文件作為路由出口文件

        src 下 router 的目錄結構

        ---src
        ----router
        ------modules
        --------xxxx.js // 模塊 xxx
        --------other.js // 模塊 other
        ------index.js // 路由配置中轉文件
        ----router.js // 路由配置出口文件

        例如

        模塊 modules 里文件配置

        // order.js
        import { getFindBusinessServiceList } from '@/utils/config-utils'
        
        const OrderRouter = [
         {
         path: '/',
         redirect: '/cost/order-list'
         },
         {
         path: '/cost',
         component: () => import('@/views/Layouts'),
         redirect: '/cost/order-list',
         children: [
         {
         path: 'order-list',
         component: () => import('@/views/orderManagement/List'),
         beforeEnter: async (to, from, next) => {
         await getFindBusinessServiceList() // 進入該路由前異步請求,結束后進入該路由
         next()
         }
         },
         {
         path: 'order-detail',
         component: () => import('@/views/orderManagement/Detail')
         },
         // 下面是重定向,可不配置
         {
         path: 'orderDetail',
         redirect: 'order-detail'
         },
         {
         path: 'order',
         redirect: 'order-list'
         }
         ]
         }
        ]
        export default OrderRouter

        上述路由配置在 Layouts 路由下的 children

        接下來關鍵,路由配置中轉文件 index.js

        遍歷 modules 文件夾下的每個模塊文件,賦值和導出

        // index.js
        import { camelCase } from 'lodash-es'
        const requiredModules = require.context('./modules', false, /\.js$/)
        const routers = {}
        
        requiredModules.keys().forEach(fileName => {
         // 不加載index.js
         if (fileName === './index.js') return
         // 轉為駝峰命名
         const moduleName = camelCase(fileName.replace(/(\.\/|\.js)/g, ''))
        
         routers[moduleName] =
         requiredModules(fileName).default || requiredModules(fileName)
        })
        export default routers

        然后在 src 下的出口文件 router.js 包裝

        // router.js
        import Vue from 'vue'
        import Router from 'vue-router'
        import routers from '@/routers/index'
        Vue.use(Router)
        let routes = []
        Object.values(routers).forEach(router => {
         routes.push(...router)
        })
        
        export default new Router({
         mode: 'history',
         routes
        })

        最后在 main.js 中注冊

        總結

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Vue路由模塊化配置的完整步驟

        Vue路由模塊化配置的完整步驟:前言 企業運營后臺頁面很多,路由如若不區分模塊化配置,所有路由擠在同一個文件將不好維護,所以路由的配置也要模塊化 分享兩個解決方案 —— Vue 路由配置的模塊化(Plan A and Plan B) 注冊需要 首先路由注冊需要啥 // main.js new Vue
        推薦度:
        標簽: VUE 模塊 完整
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲中文日本不卡二区| 亚洲av无码不卡| 亚洲熟妇AV乱码在线观看| 免费福利在线播放| 日产亚洲一区二区三区| 蜜臀AV免费一区二区三区| 色拍自拍亚洲综合图区| 久久久久久精品免费免费自慰| 亚洲精品视频在线| 久久www免费人成看片| 中文字幕亚洲综合小综合在线 | 色五月五月丁香亚洲综合网| 国产传媒在线观看视频免费观看| 亚洲AV电影天堂男人的天堂| 亚洲国产精品综合久久一线| 有色视频在线观看免费高清在线直播 | 亚洲六月丁香婷婷综合| 成年女人免费视频播放77777| 亚洲国产精品网站在线播放| 亚洲成网777777国产精品| 久久久受www免费人成| 亚洲一区二区影院| 成人黄软件网18免费下载成人黄18免费视频 | 在线日韩日本国产亚洲| 永久在线观看免费视频| 毛片免费vip会员在线看| 亚洲国产无线乱码在线观看| 午夜亚洲av永久无码精品| 日韩a级无码免费视频| 亚洲一区中文字幕在线观看| 免费看香港一级毛片| fc2免费人成在线| 亚洲黄色三级网站| 四虎永久免费观看| 免费91麻豆精品国产自产在线观看| 亚洲色图.com| 免费欧洲美女牲交视频| 99在线观看视频免费| 精品久久亚洲一级α| 久久亚洲AV成人无码电影| 免费人成年激情视频在线观看|