结合自已的项目,做一下记录,关于础组件的自动化全局注册的问题,在我的项目列表里,components/base-components/文件夹下,有多个base开头加‘-’的Vue文件列表,为了自动注册这个文件夹下的vue组件文件,在main.js入口文件里,做以下操作:
经过以下操作,可以在components文件夹里的Vue文件里,直接引用base-components文件夹里的组件了,现在,它们变成全局的了。
const requireComponent = require.context('./components/base-components', true, /\.vue$/);
// 可以使用 require.context 只全局注册这些通用的基础组件。
requireComponent.keys().forEach(fileName => {
console.log(fileName);
// 获取组件配置 const componentConfig = requireComponent(fileName);
// 剥去文件名开头的 `./` 和`.vue`结尾的扩展名
const componentName = fileName.replace(/^\.\//, '').replace(/\.vue$/, '');
// 全局注册组件
const component = Vue.component(
componentName.replace(/\//, '-'),
componentConfig.default || componentConfig );
console.log(componentName);});