Vue-router優(yōu)化import引入過多導致index文件臃腫問題
需求
當我們在開發(fā)過程中,需要引入很多的文件,但是又不想每個文件都依次導入的時候 就會想有沒有一個方法可以批量導入 require.context方法就可以解決這個問題.(僅限于webpack)
function importAll (require) { console.log(require.keys(),'keys') // 此處是由多個文件路徑組成的數(shù)組 require.keys().forEach(item=>{ routerAll.push(require(item).default) }) console.log(routerAll,'routerALL') // 將文件的 export default 暴露出去 } importAll(require.context('./',true,/\.js/))let routerAll = []; function importAll (require) { console.log(require.keys(),'keys') // 此處是由多個文件路徑組成的數(shù)組 require.keys().forEach(item=>{ routerAll.push(require(item).default) }) console.log(routerAll,'routerALL') } importAll(require.context('./',true,/\.js/))
代碼詳解
require.context
require.context(deirectory,useSubdirectories,regExp)
1.directory:要查找的文件路徑(String)
2.userSubdirectories:是否查找子目錄(Boolean)
3.regExp:要匹配文件的正則
require.context.keys()
const ctx = require.context('./components/', true, /\.js$/) console.log(ctx.keys()) // ["./A.js", "./B.js", "./C.js", "./D.js"]
require.context.keys()返回一個數(shù)組,數(shù)組每個元素傳入 require.context方法中,就可以到處相應(yīng)的文件
借鑒了Store 的自動化引入
當然此方法也可以應(yīng)用到別的文件
在 main.js 中引入大量公共組件
import Vue from 'vue' // 自定義組件 const requireComponents = require.context('../views/components', true, /\.vue/) // 打印結(jié)果 // 遍歷出每個組件的路徑 requireComponents.keys().forEach(fileName => { // 組件實例 const reqCom = requireComponents(fileName) // 截取路徑作為組件名 const reqComName =reqCom.name|| fileName.replace(/\.\/(.*)\.vue/,'$1') // 組件掛載 Vue.component(reqComName, reqCom.default || reqCom) })
今天的分享就到這里 希望能對你有所幫助。
以上就是Vue-router優(yōu)化import引入過多導致index文件臃腫問題的詳細內(nèi)容,更多關(guān)于Vue-routert引入導致index臃腫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue-cli3 項目優(yōu)化之通過 node 自動生成組件模板 generate View、Component
這篇文章主要介紹了vue-cli3 項目優(yōu)化之通過 node 自動生成組件模板 generate View、Component的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04vue 監(jiān)聽鍵盤回車事件詳解 @keyup.enter || @keyup.enter.native
今天小編就為大家分享一篇vue 監(jiān)聽鍵盤回車事件詳解 @keyup.enter || @keyup.enter.native,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

Vue+FormData+axios實現(xiàn)圖片上傳功能

Vue實現(xiàn)用戶自定義字段顯示數(shù)據(jù)的方法