欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn)

 更新時間:2020年06月05日 11:21:35   作者:Vam的金豆之路  
這篇文章主要介紹了Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

首先呢,我們來看看一般項目路由是怎么劃分的。


為什么這么劃分呢?如果大項目業(yè)務非常多,單純的單頁面很難維護,我們只有這樣規(guī)范化,才能高效率。

模塊自動化與統(tǒng)一加載的好處:

  • 規(guī)范化命名(模塊名.業(yè)務名.vue)
  • 不用每次寫頁面都要去總路由引入組件

接下來,我們實戰(zhàn)一波。

一、建立項目文件目錄以及文件夾

根據(jù)上面的要求建立,依次在src文件夾下的components文件夾下建立一個如名叫model1文件夾用于存放功能模塊(可以分別創(chuàng)建多個模塊文件夾,里面分別存放業(yè)務代碼)。在該文件夾下創(chuàng)建components文件夾,用于存放組件。創(chuàng)建pages文件夾,用于存放頁面。創(chuàng)建index.route.js,用于存放模塊路由代碼。

二、編寫模塊路由

index.route.js文件下編寫,

let router = require.context("./pages",true,/.vue/); // require.context()是webpack提供的方法,這個方法的第一個參數(shù)是require的一個文件夾,第二個參數(shù)是否遍歷子目錄,第三個參數(shù)是篩選什么類型的文件。
let arr = [];
// router是一個方法,直接調用會出錯,router.keys()是router里的一個靜態(tài)方法。
console.log(router.keys()); // ["./model1.index.vue", "./model1.second.vue"]
router.keys().forEach((key) => {
  let _keyarr=key.split("."); // 分割字符串。如"./model1.index.vue"
  if(key.indexOf("index")!=-1){ // 判斷每一項字符串是否有index,有即首頁
    arr.push({
      path:_keyarr[1],
      component:router(key).default, // 相當于import
      meta:{
        title:_keyarr[1].replace('/','') // 刪除"/"
      }
    }) 
  }
  else{
    arr.push({
      path:_keyarr[1]+"/"+_keyarr[2],
      component:router(key).default,
      meta:{
        title:_keyarr[2]
      }
    })
  }
});
export default arr

三、編寫總路由

找到router文件夾下的index.js文件

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

let router = require.context("../components",true,/\.route\.js/);
let arr=[];
router.keys().forEach((key) => {
 arr=arr.concat(router(key).default); // 拼接數(shù)組
});

export default new Router({
 routes: [
  ...arr // 展開數(shù)組
 ]
})

這樣就完畢了,源代碼地址

到此這篇關于Vue路由的模塊自動化與統(tǒng)一加載實現(xiàn)的文章就介紹到這了,更多相關Vue路由模塊自動化與統(tǒng)一加載內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue和uniapp中該如何使用canvas詳解

    Vue和uniapp中該如何使用canvas詳解

    說起canvas是css3新增的標簽,而餅狀圖又是canvas經典,我們公司現(xiàn)在正在用uni-app框架去研發(fā)APP,下面這篇文章主要給大家介紹了關于Vue和uniapp中該如何使用canvas的相關資料,需要的朋友可以參考下
    2022-10-10
  • vue.js動態(tài)數(shù)據(jù)綁定學習筆記

    vue.js動態(tài)數(shù)據(jù)綁定學習筆記

    這篇文章主要為大家詳細介紹了vue.js動態(tài)數(shù)據(jù)綁定學習筆記,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Vue兩個同級組件傳值實現(xiàn)

    Vue兩個同級組件傳值實現(xiàn)

    Vue組件之間是有聯(lián)系的,避免不了組件之間要互相傳值,那么如何實現(xiàn)Vue兩個同級組件傳值,本文就來介紹一下,感興趣的可以了解一下
    2021-07-07
  • vue中如何實現(xiàn)拖拽調整順序功能

    vue中如何實現(xiàn)拖拽調整順序功能

    這篇文章主要介紹了vue中如何實現(xiàn)拖拽調整順序功能問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue3.x使用swiperUI動態(tài)加載圖片失敗的解決方法

    vue3.x使用swiperUI動態(tài)加載圖片失敗的解決方法

    這篇文章主要為大家詳細介紹了vue3.x使用swiperUI動態(tài)加載圖片失敗的解決方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Vue中使用vue-i18插件實現(xiàn)多語言切換功能

    Vue中使用vue-i18插件實現(xiàn)多語言切換功能

    在基于vue-cli項目開發(fā)過程中,多語言切換功能可使用vue-i18插件,這篇文章分步驟給大家介紹了Vue中使用vue-i18插件實現(xiàn)多語言切換功能,感興趣的朋友一起看看吧
    2018-04-04
  • Vue的緩存方法示例詳解

    Vue的緩存方法示例詳解

    這篇文章主要給大家介紹了關于Vue緩存方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Vue2實現(xiàn)自適應屏幕大小的兩種方法詳解

    Vue2實現(xiàn)自適應屏幕大小的兩種方法詳解

    這篇文章主要為大家詳細介紹了Vue2實現(xiàn)自適應屏幕大小的兩種方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-03-03
  • vue/cli3.0腳手架部署到nginx時頁面空白的問題及解決

    vue/cli3.0腳手架部署到nginx時頁面空白的問題及解決

    這篇文章主要介紹了vue/cli3.0腳手架部署到nginx時頁面空白的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • keep-Alive搭配vue-router實現(xiàn)緩存頁面效果的示例代碼

    keep-Alive搭配vue-router實現(xiàn)緩存頁面效果的示例代碼

    這篇文章主要介紹了keep-Alive搭配vue-router實現(xiàn)緩存頁面效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論