朱丽叶

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

vue中webpack环境中动态注册插件

// webpack 动态引入文件

const requireComonents = require.context("./", true, /\.vue$/);

// Vue提供的install 方法进行插件的注册
/**
install方法第一个参数是vue的构造器,第二个参数是可选的选项对象
	install(Vue,option){
		组件
		指令
		混入
		挂载vue原型
	}
*/
const install: any = (Vue: any) => {
  // 判断当前组件是否已经注册过这个组件 注册过直接return
  if (install.isInstall) return;
  install.isInstall;

  // 符合查询的文件路径数组
  requireComonents.keys().forEach((fileName) => {
    console.log(fileName);

    // 获取读取到的Vue组件的实例对象
    const vueComponent = requireComonents(fileName);
    console.log(vueComponent);
    
    // 获取当前组件的名称
    const vueComponentName = vueComponent.default.name;

    // 注册组件
    Vue.component(vueComponentName, vueComponent.default || vueComponent);
  });
};

export default {
  install,
};

posted on   朱丽叶  阅读(106)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示