怎么说呢,你可以把main.js 看成一个树状图的起点,想象一下,你现在写了一个公共组件,其他大部分页面要使用,你放到main.js中初始化,他下面所以的子节点都可以直接使用(不用去单独引用,优化代码结构),如果项目比较大,也不是所有的公共组件都需要放到main.js,在需要引用的父节点初始化就行(不要盲目的忘main.js 塞,或者做好分类规划,适用比较小的组件稍微往本身模块提取一下就ok),建议同时看看mixins概念,便于理解
组件需要注册后才能使用,在main.js
里注册后,可以在需要的页面直接调用
简单地说
我现在想要去使用一个组件,拿element 与 axios举例,
为什么element需要去用use挂载,axios则是需要绑定到vue的原型上面?
.use 实则 .use(element)调用的是你引用进来组件 也就是element的 install方法,而这个 install 方法封装的其实就是,将你Vue中以此挂载上对应的一个个组件
这样我们就可以在所有的模板上使用像el-button、el-link等以及一系列this方法
而axios里面其实并没有暴露出来 install 方法,所以我们如果想要在全局去使用this.$http这种方式去引用axios的话
则需要手动挂载到 对象原型上,方可使用this.xxx访问
import axios from 'axios'
Vue.prototype.$http = axios
而main.js 的话 你可以看做是所有文件的一个入口,我需要通过这个文件才能识别到我到底用了什么东西、我需要用什么东西,我怎么去封装一系列的东西,像 router 我就必须得引入进来 然后挂到 new Vue上面才可以继续使用