需求场景:
组件开发的时候,每一个单独的组件都需要js文件进行安装,且在index.js中每一个组件都需要单独引入加载,过于繁琐。
预期目标:
使用一个公用的文件,自动匹配组件文件夹下的所有组件进行引入,无需二次配置,且index文件中仅需
引入该文件即可进行全局安装
解决方案:
在components目录新建install.js文件
// 引入当前目录下所有vue文件导出的组件
const context = require.context('./', true, /\.vue$/)
// 安装组件
const install = {
install: function (Vue) {
context.keys().forEach((key) => {
// name需要在组件中定义好
Vue.component(context(key).default.name, context(key).default)
})
}
}
export default install
index.js 文件仅需导入intsall.js即可(index.js是组件打包时的入口文件)
import _Vue from 'vue'
import install from './src/components/install.js'
const demoUI = function (Vue) {
Vue.use(install)
}
export default demoUI
归纳总结:
- 简化代码繁杂程度,无论是组件的安装还是管理,都变成自动化的操作。
- 仅需按照规则创建组件即可自动引入,无需其它操作
- 开发者继续关注具体的逻辑文件,无需困扰与组件安装,引入,使用