const apps = [{ name: 'AppDictionary', component: require('../../core/apps/AppDictionary/AppDictionary.vue').default }, { name: 'AppQyWxConfig', component: require('../../core/apps/AppQyWxConfig/AppQyWxConfig.vue').default }, { name: 'AppMenuManager', component: require('../../core/apps/AppMenuManager/AppMenuManager.vue').default }, { name: 'AppRightsManager', component: require('../../core/apps/AppRightsManager/AppRightsManager.vue').default }, { name: 'AppSystemAccount', component: require('../../core/apps/AppSystemAccount/AppSystemAccount.vue').default }, {name: 'AppUserInfo', component: require('../../core/apps/AppUserInfo/AppUserInfo.vue').default}, { name: 'AppForm', component: require('../../packages/2.0.5/AppForm/AppForm.vue').default }] const install = function (Vue) { if (install.installed) return Promise.resolve() else { let contexts = require.context('.', true, /(\/.+)\/App[^\/]+\.vue$/) if (contexts) { contexts.keys().map(e => { if (contexts(e).default) { let mod = apps.find(a => a.name == contexts(e).default.name) if (mod) { mod.component = contexts(e).default } else { apps.push({name: contexts(e).default.name, component: contexts(e).default}) } } }) } apps.map(e => { Vue.component(e.name, e.component) }) } } // 判断是否是直接引入文件 if (typeof window !== 'undefined' && window.Vue) { install(window.Vue) } export default { // 导出的对象必须具有 install,才能被 Vue.use() 方法安装 install }