32 lines
		
	
	
		
			869 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			869 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| //本地仓库外部组件
 | ||
| 
 | ||
| // 存储组件列表
 | ||
| import directives from "../lib/js/directives";
 | ||
| 
 | ||
| let components = [];
 | ||
| // 定义 install 方法,接收 Vue 作为参数。如果使用 use 注册插件,则所有的组件都将被注册
 | ||
| const install = function (Vue) {
 | ||
|   if (install.installed) return;
 | ||
|   // 遍历注册全局组件
 | ||
|   let contexts = require.context('.', true, /[\\\/]Ai([^\\\/]+)\.vue$/);
 | ||
|   Vue.use(directives)
 | ||
|   if (contexts) {
 | ||
|     contexts.keys().map((e) => {
 | ||
|       components.push(contexts(e).default);
 | ||
|       Vue.component(contexts(e).default.name, contexts(e).default);
 | ||
|     });
 | ||
|   }
 | ||
| };
 | ||
| 
 | ||
| // 判断是否是直接引入文件
 | ||
| if (typeof window !== 'undefined' && window.Vue) {
 | ||
|   install(window.Vue);
 | ||
| }
 | ||
| 
 | ||
| export default {
 | ||
|   // 导出的对象必须具有 install,才能被 Vue.use() 方法安装
 | ||
|   install,
 | ||
|   // 以下组件列表
 | ||
|   ...components
 | ||
| };
 |