vue 優化小技巧 之 require.context()


1、require.context()

回憶一下 當我們引入組件時 

 第一步 創建一個子組件 

 第二步 import ... form ...   

 第三步 components:{..}     

 第四步 頁面使用 <...></...>

  代碼實現:                                                  

   

目錄結構:components /  context  / subset

            

頁面效果

  

以上一共五個子組件 大量重復的代碼 

 

 看到這里就開始步入正題嘍~

require.context(directory,useSubdirectories,regExp)
接收三個參數:
directory:說明需要檢索的目錄
useSubdirectories:是否檢索子目錄     (此例中 : 當為true時 subsetone可用)
regExp: 匹配文件的正則表達式,一般是文件名
<template>
  <div>
    <one></one>
    <two></two>
    <three></three>
    <four></four>
    <!-- <subsetone></subsetone> -->
  </div>
</template>
<script>

const path = require("path");
const files = require.context("@/components/context", false, /\.vue$/);
const modules = {};
files.keys().forEach(key => {
  const name = path.basename(key, ".vue");
  modules[name] = files(key).default || files(key); });

export default {
  components: modules,
  data() {
    return {};
  },
  methods: {},
        
};
</script> 

東西學會了 那使用場景呢~~  

假設一個頁面很多的彈框 很多的下鑽頁 這時候我們就可以把他們有規律的放在一個文件夾里 
例如 a文件 --里面是A的子組件集合
   b文件 --里面是B的子組件集合    

這時候引入組件就可以吧a文件一次性引入A組件中 同b---B  

(ps:如果你非要都混在一個文件里  那你可以選擇都引入選擇性使用 或者還用以前辦法一個一個找 還可以給一個規律正則匹配  個人認為這樣文件夾不清楚不利於交接也不利於后期維護 )

參考鏈接:https://juejin.im/post/5d9d386fe51d45784d3f8637

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM