1. 批量导出组件
const files = require.context("@/base-ui", true, /\.vue$/);
const modules = importComponents(files);
const install = (Vue) => {
Object.keys(modules).map((component) => {
modules[component].name &&
Vue.component(modules[component].name, modules[component]);
});
};
export const importComponents = (files) => {
const path = require("path");
const modules = {};
files.keys().forEach((key) => {
const name = path.basename(key, ".vue");
modules[name] = files(key).default || files(key);
});
return modules;
};
if (typeof window !== "undefined" && window.Vue) {
install(window.Vue);
}
export default { install };
2. 组件注册
import baseui from '@/base-ui'
Vue.use(baseui)