vue項(xiàng)目中main.js的用法
一、main.js文件解析
- src/main.js是入口文件,主要作用是初始化vue實(shí)例并使用需要的插件
- 在main.js文件中定義了一個(gè)vue對(duì)象,其中el為實(shí)例提供掛載元素
//基礎(chǔ)配置
import Vue from 'vue'
import App from './App.vue'
//引入已經(jīng)配置好的路由和vuex
import router from './router'
import store from './store/store'
// 是否啟動(dòng)生產(chǎn)消息
Vue.config.productionTip = false
//第一種寫(xiě)法
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
//第二種寫(xiě)法
const myVue=new Vue({
el:'#app',
router,
store,
render: h => h(App)
})
export default myVue二、Vue.prototype的作用與使用
把方法或?qū)傩苑诺絍ue實(shí)例的原型上,全局可用,使用通過(guò)this.屬性、this.方法。
import Vue from 'vue'
import App from './App.vue'
//路由導(dǎo)入
import router from './router'
//vuex導(dǎo)入
import store from './store'
//npm下載好的三方axios包
import axios from 'axios'
// 是否啟動(dòng)生產(chǎn)消息
Vue.config.productionTip = false
// 設(shè)置axios的請(qǐng)求根路徑
axios.defaults.baseURL = 'url'
// 把 axios 掛載到 Vue.prototype 上
Vue.prototype.$http = axios
//其實(shí)是在Vue原型上增加了一個(gè)$http,然后在其余的vue組件的文件中,
//可以通過(guò)this.$http直接來(lái)使用axios
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
三、Vue.use的作用以及什么時(shí)候使用
簡(jiǎn)單的說(shuō)就是用來(lái)注冊(cè)全局組件的
1、組件
Hello 組件
<template>
<div>
this is Hello...
</div>
</template>
World 組件
<template>
<div>
this is World...
</div>
</template>
2、定義一個(gè)index.js文件,并引入 兩組件 ,并導(dǎo)出:
// 引入組件
import Hello from './Hello.vue'
import World from './World.vue'
// 定義 Loading 對(duì)象
const installObj = {
// install 是默認(rèn)的方法。當(dāng)外界在 use 這個(gè)組件的時(shí)候,就會(huì)調(diào)用本身的 install 方法,同時(shí)傳一個(gè) Vue 這個(gè)類(lèi)的參數(shù)。
install: function (Vue) {
Vue.component('sayHello', Hello),
Vue.component('sayWorld', World)
}
}
// 導(dǎo)出
export default installObj
3、在 main.js 中引入index.js
import Vue from 'vue'
import App from './App.vue'
// 這里用什么名字,并不重要
import installObj from './/index'
// 只要這里引用對(duì)就行
Vue.use(installObj)
new Vue({
el: '#app',
render: h => h(App)
})
4、全局使用(不用引入直接可以使用)
<template>
<div id="app">
<h1>vue install example</h1>
<sayHello></sayHello>
<sayWorld></sayWorld>
</div>
</template>
<script>
export default {
name: 'app',
data () {
return {}
}
}
</script>
結(jié)果:

四、文末總結(jié):
- 就算沒(méi)用獨(dú)立引用
sayHello和sayWorld這兩個(gè)組件,它倆依然可以被全局使用。Vue.use()的作用就是讓它里面被注冊(cè)的組件能夠被全局使用。 axios為什么不需要用Vue.use(axios)就能直接使用?
axios 內(nèi)部并沒(méi)有提供相應(yīng)的組件供用戶全局使用,開(kāi)發(fā)者在封裝 axios 時(shí),根本就沒(méi)有配置 install 。
就算 axios 內(nèi)部提供了全局組件,只要不使用這些組件,就算不使用 Vue.use(axios)進(jìn)行注冊(cè),也不會(huì)報(bào)錯(cuò)。
提供 install 方法,只是為了讓 Vue 可以將組件注冊(cè)到框架里去,使其能夠被全局使用。
到此這篇關(guān)于vue項(xiàng)目中main.js使用方法詳解的文章就介紹到這了,更多相關(guān)vue main.js使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Vue+intro.js實(shí)現(xiàn)頁(yè)面新手引導(dǎo)流程功能
在同學(xué)們使用某些網(wǎng)站的新版本頁(yè)面的時(shí)候,經(jīng)常會(huì)出現(xiàn)一個(gè)類(lèi)似于新手引導(dǎo)一樣的效果,來(lái)幫助同學(xué)們更好的熟悉新版本頁(yè)面的功能和使用,這篇文章主要給大家介紹了關(guān)于如何利用Vue+intro.js實(shí)現(xiàn)頁(yè)面新手引導(dǎo)流程功能的相關(guān)資料,需要的朋友可以參考下2023-11-11
Vue中Vue-Baidu-Map基本使用方法實(shí)例
最近有一個(gè)項(xiàng)目需要用到地圖來(lái)展示位置并進(jìn)行數(shù)據(jù)交互,用vue-baidu-map實(shí)現(xiàn)出來(lái),下面這篇文章主要給大家介紹了關(guān)于Vue中Vue-Baidu-Map基本使用的相關(guān)資料,需要的朋友可以參考下2023-03-03
Vue手寫(xiě)防抖和節(jié)流函數(shù)代碼詳解
在Vue中函數(shù)的防抖和節(jié)流不是什么新鮮話題,這篇文章主要給大家介紹了關(guān)于Vue3中防抖/節(jié)流的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
Vue拿到二進(jìn)制流圖片如何轉(zhuǎn)為正常圖片并顯示
這篇文章主要介紹了Vue拿到二進(jìn)制流圖片如何轉(zhuǎn)為正常圖片并顯示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06

