import EventBus, { $on, $once, $off, $emit } from './utils/eventBus' import GuipButton from './GuipButton' import GroupFormBtns from './GroupFormBtns' import GuipInput from './GuipInput' import PromptText from './PromptText' import GuipTextarea from './GuipTextarea' import DevicePreview from './DevicePreview' import GuipRadio from './GuipRadio' import GuipSelect from './GuipSelect' import GuipFormItem from './GuipFormItem' import CustomDropdown from './CustomDropdown' import GuipDialog from './GuipDialog' import 'element-ui/lib/theme-chalk/index.css' // 如果依赖Element import './styles/index.css' // 全局引入 import './styles/common.scss' // 全局引入 import { directive as clickaway } from 'vue-clickaway' const components = [ GuipButton, GroupFormBtns, GuipInput, PromptText, GuipTextarea, DevicePreview, GuipRadio, GuipSelect, GuipFormItem, CustomDropdown, GuipDialog ] const install = function (Vue) { // 挂载到Vue原型 Vue.prototype.$eventBus = EventBus Vue.prototype.$on = $on Vue.prototype.$emit = $emit Vue.prototype.$off = $off Vue.prototype.$once = $once Vue.directive('clickaway', clickaway) components.forEach(component => { if (!component.name) { throw new Error(`Component name is required: ${component}`) } Vue.component(component.name, component) }) } export default { install, GuipButton, GroupFormBtns, GuipInput, PromptText, GuipTextarea, DevicePreview, GuipRadio, GuipSelect, GuipFormItem, CustomDropdown, GuipDialog }