vue 组件自动注册

Posted lillill

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 组件自动注册相关的知识,希望对你有一定的参考价值。

import Vue from ‘vue‘
import Router from ‘vue-router‘

/**
 * 路由自动注册
 */
const requireComponent = require.context(
  // 其组件目录的相对路径
  ‘@/view/‘,
  // 是否查询其子目录
  true,
  // 匹配基础组件文件名的正则表达式
  /[A-Za-z0-9-_]+.(vue|js)$/
)
const routes = requireComponent.keys().map(fileName => {
  // 获取组件配置
  const componentConfig = requireComponent(fileName);

  // 剥去文件名开头的 `./` 和结尾的扩展名
  const componentName = fileName.replace(/^./(.*).w+$/, ‘$1‘);
  console.log(componentName)
  // 全局注册组件
  const component = Vue.component(
    componentName,
    // 如果这个组件选项是通过 `export default` 导出的,
    // 那么就会优先使用 `.default`,
    // 否则回退到使用模块的根。
    componentConfig.default || componentConfig
  );

  return {
    path: `/${componentName}`,
    // name: componentName,
    component,
  }
});
console.log(routes)
Vue.use(Router)
const router = new Router({
  mode: ‘history‘,
  routes,
  scrollBehavior(to, from, savedPosition) {
    return {x: 0, y: 0}
  }
})

export default router;

  

以上是关于vue 组件自动注册的主要内容,如果未能解决你的问题,请参考以下文章

从文件夹中自动全局注册 vue 单个文件组件

Vue自动化注册全局组件脚本

批量自动化注册全局组件(Vue3)

vue 组件自动注册

Vue 组件自动注册

Vue组件之全局组件与局部组件