業務場景:中后台
雖然封裝和使用了很多第三方組件,但還是免不了需要自己封裝和使用很多業務組件。每次使用的時候還需要手動引入,過於麻煩
解決方法:
基於 webpack 的require.context
來實現自動加載組件並注冊的全局的功能
我們可以創建一個GlobalComponents
文件夾,將你想要注冊到全局的組件都放在這個文件夾里,在index.js
里面放上如上代碼。之后只要在入口文件main.js
中引入即可。
//main.js
import './components/Table/index' // 自動注冊全局業務組件
這樣我們可以在模板中直接使用這些全局組建了。不需要再繁瑣的手動引入了
<template>
<div>
<user-select/>
<status-button/>
</div>
</template>
當然你也不要為了省事,啥組件都往全局注冊,這樣會讓你初始化頁面的時候你的初始
init bundle
很大。你應該就注冊那些你經常使用且體積不大的組件。那些體積大的組件,如編輯器或者圖表組件還是按需加載比較合理。而且你最好聲明這些全局組件的時候有一個統一的命名規范比如:
globel-user-select
這樣的,指定一個團隊規范,不然人家看到你這個全局組件會一臉懵逼,這個組件是哪來的。
文章參考鏈接:https://juejin.im/post/6844903840626507784