vue ---- 全局组件统一管理

因为是自己瞎玩的所以组件个数很少,就是个意思昂~

先看一下我的文件夹

文件夹分类
所有的组件都放在components中。创建index文件做。。。统筹😂
还有一个小知识,require.context是webpack的一个API
https://webpack.docschina.org/guides/dependency-management/#requirecontext

实不相瞒文档里没说人话。。

我理解的是,可以通过解析路径来还原实例😂当一个文件夹中的模块需要被频繁引用时,可以用require.context一次性搞定。三个参数分别为
require.context的参数

components文件夹中的index.js ⬇️

import Vue from "vue";
// 没什么规律单独引入的文件
import Swiper from "@/components/Swiper";
// 归纳成数组
let globalComponents = [
    Swiper
]
//  直接引入的组件们
globalComponents.map(component => {
    //  创建组件
    Vue.component(component.name, component);
})

const requireComponent = require.context('@/components/form', true, /\.vue/);
//  /components/form 中有命名规律的组件们
requireComponent.keys().forEach(fileName => {
    //  fileName 为文件路径的字符串
    //  组件实例
    const reqCom = requireComponent(fileName);
    //  创建组件
    //  这里写的是用组件的name来当标签名儿,也可以是别的方式,写个能抓住的字符串就成😊
    Vue.component(reqCom.default.name, reqCom.default);
})

export default globalComponents;

main.js文件中 ⬇️

import globalComponents from "@/components";
Vue.use(globalComponents);

tada~~这些组件就可以全局使用啦

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容