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è)類的參數(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?頂部消息橫向滾動(dòng)通知效果實(shí)現(xiàn)
系統(tǒng)頂部展示一個(gè)橫向滾動(dòng)的消息通知,就是消息內(nèi)容從右往左一直滾動(dòng),這篇文章主要介紹了vue頂部消息橫向滾動(dòng)通知,需要的朋友可以參考下2024-02-02
詳解vue-cli 本地開(kāi)發(fā)mock數(shù)據(jù)使用方法
這篇文章主要介紹了詳解vue-cli 本地開(kāi)發(fā)mock數(shù)據(jù)使用方法,如果后端接口尚未開(kāi)發(fā)完成,前端開(kāi)發(fā)一般使用mock數(shù)據(jù)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Vue源碼學(xué)習(xí)之初始化模塊init.js解析
本篇文章主要介紹了Vue源碼學(xué)習(xí)之初始化模塊init.js解析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
一文詳解Vue3中簡(jiǎn)單diff算法的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹Vue3中簡(jiǎn)單diff算法的實(shí)現(xiàn)與使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下2022-09-09
VUE搭建分布式醫(yī)療掛號(hào)系統(tǒng)的前臺(tái)預(yù)約掛號(hào)步驟詳情
這篇文章主要介紹了VUE搭建分布式醫(yī)療掛號(hào)系統(tǒng)的前臺(tái)預(yù)約掛號(hào)步驟詳情,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04

