index.js
778 Bytes
let components = {};
const componentsFiles = require.context('./', true, /\.vue/);
componentsFiles.keys().forEach(path => {
const component = componentsFiles(path);
components[component.default.name] = component.default;
});
// 给组件库配置install方法
const install = function (Vue, opts = {}) {
Object.values(components).forEach(component => {
// 组件前缀
const prefix = opts.name || 'zui';
// 配置组件名称
const name = prefix + component.name
component.name = name
// 给每个子组件配置install方法
component.install = function (Vue) {
Vue.component(name, component)
}
// 将每个子组件注册为全局组件
Vue.component(name, component)
})
}
export default {
install,
...components
}