vue批量引入组件
在一些大型页面或项目中会引入很多组件,如果每个组件引用都单独写会产生很多重复代码,这时我们就需要使用批量引入,比如我要引入common目录下的所有vue可以参照下方写法
# 方法一: 使用require.context
import Vue from 'vue'
const requireComponents = require.context('./common', true, /\.vue/);
// 遍历出每个组件的路径
requireComponents.keys().forEach(fileName => {
// 组件实例
const reqCom = requireComponents(fileName)
// 截取路径作为组件名
const reqComName = fileName.split('/')[1]
// 组件挂载
Vue.component(reqComName, reqCom.default || reqCom)
})
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 方法二: 使用Vue.use
//Vue.use(plugin)会自动查找install并调用,所有我们可以把组件挂载写在install中
//main.js
import Vue from 'vue'
import batchCom from './common'
Vue.use(batchCom)
// ./common/index.js
import components1 from './common/components1/components1.vue'
import components2 from './common/components2/components2.vue'
export default {
install: (Vue, option) => {
Vue.component(...)
Vue.component(...)
...
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
上次更新: 2025/09/05, 8:09:00