vue項目中main.js的用法
一、main.js文件解析
- src/main.js是入口文件,主要作用是初始化vue實例并使用需要的插件
- 在main.js文件中定義了一個vue對象,其中el為實例提供掛載元素
//基礎(chǔ)配置
import Vue from 'vue'
import App from './App.vue'
//引入已經(jīng)配置好的路由和vuex
import router from './router'
import store from './store/store'
// 是否啟動生產(chǎn)消息
Vue.config.productionTip = false
//第一種寫法
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
//第二種寫法
const myVue=new Vue({
el:'#app',
router,
store,
render: h => h(App)
})
export default myVue二、Vue.prototype的作用與使用
把方法或?qū)傩苑诺絍ue實例的原型上,全局可用,使用通過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'
// 是否啟動生產(chǎn)消息
Vue.config.productionTip = false
// 設(shè)置axios的請求根路徑
axios.defaults.baseURL = 'url'
// 把 axios 掛載到 Vue.prototype 上
Vue.prototype.$http = axios
//其實是在Vue原型上增加了一個$http,然后在其余的vue組件的文件中,
//可以通過this.$http直接來使用axios
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
三、Vue.use的作用以及什么時候使用
簡單的說就是用來注冊全局組件的
1、組件
Hello 組件
<template>
<div>
this is Hello...
</div>
</template>
World 組件
<template>
<div>
this is World...
</div>
</template>
2、定義一個index.js文件,并引入 兩組件 ,并導(dǎo)出:
// 引入組件
import Hello from './Hello.vue'
import World from './World.vue'
// 定義 Loading 對象
const installObj = {
// install 是默認的方法。當外界在 use 這個組件的時候,就會調(diào)用本身的 install 方法,同時傳一個 Vue 這個類的參數(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'
// 只要這里引用對就行
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é):
- 就算沒用獨立引用
sayHello和sayWorld這兩個組件,它倆依然可以被全局使用。Vue.use()的作用就是讓它里面被注冊的組件能夠被全局使用。 axios為什么不需要用Vue.use(axios)就能直接使用?
axios 內(nèi)部并沒有提供相應(yīng)的組件供用戶全局使用,開發(fā)者在封裝 axios 時,根本就沒有配置 install 。
就算 axios 內(nèi)部提供了全局組件,只要不使用這些組件,就算不使用 Vue.use(axios)進行注冊,也不會報錯。
提供 install 方法,只是為了讓 Vue 可以將組件注冊到框架里去,使其能夠被全局使用。
到此這篇關(guān)于vue項目中main.js使用方法詳解的文章就介紹到這了,更多相關(guān)vue main.js使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解vue-cli 本地開發(fā)mock數(shù)據(jù)使用方法
這篇文章主要介紹了詳解vue-cli 本地開發(fā)mock數(shù)據(jù)使用方法,如果后端接口尚未開發(fā)完成,前端開發(fā)一般使用mock數(shù)據(jù)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
VUE搭建分布式醫(yī)療掛號系統(tǒng)的前臺預(yù)約掛號步驟詳情
這篇文章主要介紹了VUE搭建分布式醫(yī)療掛號系統(tǒng)的前臺預(yù)約掛號步驟詳情,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04

