# Vue

# 自动注册全局组件

// index.js
import Vue from "vue";

// 第一个字母大写
function capitalizeFirstLetter(fileName) {
  const string = fileName
    .split("/")
    .pop()
    .replace(/\.\w+$/, "");
  return string.charAt(0).toUpperCase() + string.slice(1);
}

/*
 找到components文件夹下以.vue命名的文件
 @params  {String}  路径
 @params  {Boolean} 是否查找子目录
 @params  {REG}     匹配文件名
 */
const requireComponent = require.context(".", true, /\.vue$/);

requireComponent.keys().forEach((fileName) => {
  const componentConfig = requireComponent(fileName);
  // 组件名称
  const componentName = capitalizeFirstLetter(fileName);
  // 注册全局组件
  Vue.component(componentName, componentConfig.default || componentConfig);
});
上次更新: 3/12/2022, 9:09:39 PM