小白笔记——vue全局组件注册和全局js引入

简介: 小白笔记——vue全局组件注册和全局js引入
+关注继续查看

有一些常用的组件或者js库,可能大部分页面都要使用,频繁的import未免显得啰嗦,这时可以考虑通过全局引入的方式实现


先看比较简单的js库全局引入

js库全局引入

js库的引入很简单,通过Vue.prototype即可

main.js 全局js引入核心代码

main.js 全局js引入核心代码
import Vue from  'vue'
import api from  './utils/config/api'  //要引入的js文件
Vue.prototype.$api=api
.... //其他代码

.vue组件中使用:通过this.$api即可

this .$api.member_index

全局组件注册

可以分为这两种,引用单个组件、引用某个文件夹下全部组件

单个组件全局注册

import TableBox from  './components/mod/TableBox
  Vue.component(' TableBox',TableBox)    //第一个为全局注册的组件名称,第二个为全局注册的组件模版

多个组件全局注册

import Vue from  'vue'    
import upperFirst from  'lodash/upperFirst'    
import camelCase from  'lodash/camelCase'    
const requireComponent = require.context(    
   
'./components/mod/' ,     // 组件所在目录  
false ,                   // 是否不引用子目录组件
   /_base-[\w-]+\.vue$/     //通过正则表达式指明引入的文件名类型,比如以 _base- 开头的vue组件
)    
// For each matching file name...    
requireComponent.keys().forEach(fileName => {    
// Get the component config    
const componentConfig = requireComponent(fileName)    
// Get the PascalCase version of the component name    
const componentName = upperFirst(    
camelCase(    
fileName    
// Remove the "./_" from the beginning    
.replace(/^\.\/_/,  '' )    
// Remove the file extension from the end    
.replace(/\.\w+$/,  '' )    
)    
)    
// Globally register the component    
Vue.component(componentName, componentConfig. default  || componentConfig)    
})

记住全局注册的行为必须在根 Vue 实例 (通过 new Vue) 创建之前发生

注意:太多的全局组件注册,会导致进入首页的文件量变大,所以尽量考虑将哪些最常用的且文件较小的组件进行全局引入,其他组件还是在需要的页面再引入

相关文章
|
3月前
|
JavaScript 容器
vue笔记
vue笔记
28 0
|
4月前
|
JavaScript 前端开发 API
项目笔记-vue
项目笔记-vue
45 0
|
4月前
|
存储 缓存 监控
|
4月前
|
JSON JavaScript Go
千锋 Vue 详细笔记整理4
千锋 Vue 详细笔记整理
37 0
千锋 Vue 详细笔记整理4
|
4月前
|
存储 JavaScript 前端开发
千锋 Vue 详细笔记整理3
千锋 Vue 详细笔记整理
54 0
|
4月前
|
JavaScript 前端开发
千锋 Vue 详细笔记整理2
千锋 Vue 详细笔记整理
50 0
|
4月前
|
JavaScript 前端开发 Java
千锋 Vue 详细笔记整理 1
千锋 Vue 详细笔记整理
34 0
|
6月前
|
JavaScript 前端开发 API
VUE第二十四天 | 青训营笔记(二)
VUE第二十四天 | 青训营笔记(二)
30 0
|
6月前
|
JavaScript API
VUE第二十四天 | 青训营笔记(一)
VUE第二十四天 | 青训营笔记(一)
36 0
|
6月前
|
JavaScript
VUE第二十二天 | 青训营笔记
VUE第二十二天 | 青训营笔记
27 0
相关产品
云迁移中心
推荐文章
更多