31 lines
		
	
	
		
			843 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			843 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const apps = []
 | 
						||
const install = function (Vue) {
 | 
						||
  if (install.installed) return Promise.resolve()
 | 
						||
  else {
 | 
						||
    let contexts = require.context('.', true, /(\/.+)\/Ai[^\/]+\.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
 | 
						||
}
 |