vue3.0公共組件自動導(dǎo)入的方法實例
一、前提
我們使用的是require.context方法導(dǎo)入,在vite創(chuàng)建的項目內(nèi)使用會報錯"require not found",所以必須用webpack創(chuàng)建項目?;蛘哂写竽芸梢哉f說vite怎么解決這個問題。
二、規(guī)則
我使用的注冊規(guī)則是,搜索src/components/路徑下的所有目錄和子目錄,搜索文件名叫做"index.vue"的文件,使用上級目錄的名字作為組件名,進行注冊。結(jié)構(gòu)如下:

只注冊index.vue,其他名字的組件不注冊,
三、注冊
由于vue3.0沒有import “Vue” from vue,我們需要使用app來注冊,所以只能在 main.js
入口文件注冊
// src/main.js
import { createApp } from 'vue'
const app = createApp(App)
// 動態(tài)注冊公共組件
const requireComponent = require.context(
// 其組件目錄的相對路徑
'@/components',
// 是否查詢其子目錄
true,
// 匹配基礎(chǔ)組件文件名的正則表達式
/index.vue$/
)
const jieguo = requireComponent.keys().filter((item:any)=> true)
jieguo.forEach((item:any)=>{
const componentConfig = requireComponent(item)
const name = item.split("/")[1]
app.component(name,componentConfig.default || componentConfig)
})
// 注冊結(jié)束
app.mount('#app')
當我們新建、刪除、給公共組件改名等操作,注冊方面就不需要任何操作了。重啟一下項目,喝口水的時間就行了 。
總結(jié)
到此這篇關(guān)于vue3.0公共組件自動導(dǎo)入的文章就介紹到這了,更多相關(guān)vue3.0公共組件導(dǎo)入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue基于mint-ui的城市選擇3級聯(lián)動的示例
本篇文章主要介紹了vue基于mint-ui的城市選擇3級聯(lián)動的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
詳解vue開發(fā)中調(diào)用微信jssdk的問題
這篇文章主要介紹了vue開發(fā)中調(diào)用微信jssdk的問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
淺談vue的iview列表table render函數(shù)設(shè)置DOM屬性值的方法
下面小編就為大家?guī)硪黄獪\談vue的iview列表table render函數(shù)設(shè)置DOM屬性值的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09

