vue中實現(xiàn)組件自動化全局注冊

你是否有這樣的煩惱,在vue中寫了很多自己的組件,不論是基礎(chǔ)組件還是業(yè)務(wù)組件,想在其他組件中引用,就必須要import的方式引進(jìn)來,例如

// 引入
import ImageBotton from './Image-botton.vue'
export default {
  component: {
    ImageBotton
  }
}

// 使用

<Image-botton><Image-botton/>

一個兩個還好,項目大了就會麻煩起來了,而且需要修改的話,也需要每個里面都去對應(yīng)一遍?,F(xiàn)在這個時代,時間就是金錢,開發(fā)效率是第一位,有些工作就不需要重復(fù)無意義的進(jìn)行。
那么組件的全局注冊就體現(xiàn)出來他的優(yōu)勢了。

const requireComponent = require.context(
  // 其組件目錄的相對路徑
  '@/components/',
  // 是否查詢其子目錄
  true,
  // 匹配基礎(chǔ)組件文件名的正則表達(dá)式
  /\.(vue|js)$/
);
requireComponent.keys().forEach(fileName => {
  // 獲取組件配置
  const componentConfig = requireComponent(fileName);
  // 獲取組件的命名(可以根據(jù)自己項目的實際情況進(jìn)行修改)
  const componentName = fileName.replace(/^\.\//, '').replace(/\/\index.vue$/, '');
  // 全局注冊組件
  Vue.component(
    componentName,
    // 如果這個組件選項是通過 `export default` 導(dǎo)出的,
    // 那么就會優(yōu)先使用 `.default`,否則回退到使用模塊的根。
    componentConfig.default || componentConfig
  );
});
// 引入:無需引入
// 使用:直接在頁面中使用
<Image-botton><Image-botton/>

注意:組件的全局自動注冊的方法一定要在new Vue之前進(jìn)行


聽說分享關(guān)注的人都年薪百萬了

這里是前端掃地僧,和你一起分享前端的那些事。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文章是我最近在公司的一場內(nèi)部分享的內(nèi)容。我有個習(xí)慣就是每次分享都會先將要分享的內(nèi)容寫成文章。所以這個文集也是用來...
    Awey閱讀 9,573評論 4 67
  • 什么是組件? 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝...
    youins閱讀 9,705評論 0 13
  • Vue 組件官網(wǎng):https://cn.vuejs.org/v2/guide/components.html 組件...
    瓔珞紈瀾閱讀 491評論 0 1
  • 基于Vue的一些資料 內(nèi)容 UI組件 開發(fā)框架 實用庫 服務(wù)端 輔助工具 應(yīng)用實例 Demo示例 element★...
    嘗了又嘗閱讀 1,282評論 0 1
  • UI組件 element- 餓了么出品的Vue2的web UI工具套件 Vux- 基于Vue和WeUI的組件庫 m...
    流觴小菜鳥閱讀 1,975評論 2 8

友情鏈接更多精彩內(nèi)容