vue項(xiàng)目main.js使用方法詳細(xì)介紹
第一部分: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ǎo)入less(樣式的導(dǎo)入例子,css,less) //import '@/assets/xxx.less' //導(dǎo)入js(例如) //import xxx from 'xxx.js' // 是否啟動(dòng)生產(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 // 其他js文件可以引用main.js的myVue實(shí)例從而調(diào)用myVue的router、store等等 //調(diào)用注意 main.$store,main.$router即使是vue原型鏈上的axios也可以被調(diào)用 //main.$axios
第二部分:Vue.use的作用以及什么時(shí)候使用
在Vue中引入使用第三方庫(kù)通常我們都會(huì)采用import的形式引入進(jìn)來(lái),但是有的組件在引入之后又做了Vue.use()操作,有的組件引入進(jìn)來(lái)又進(jìn)行了Vue.prototype.$something = something,那么它們之間有什么聯(lián)系呢?
- 先說(shuō)一下Vue.prototype,在Vue項(xiàng)目中通常我們引入axios來(lái)進(jìn)行請(qǐng)求接口數(shù)據(jù),通過(guò)npm安裝之后我們只需在我們的文件中import axios from "axios"就可以使用,有時(shí)候我們會(huì)加上一句Vue.prototype.$axios = axios,prototype我們應(yīng)該是再熟悉不過(guò)了
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是什么?(官方文檔)
通過(guò)全局方法 Vue.use() 使用插件,Vue.use 會(huì)自動(dòng)阻止多次注冊(cè)相同插件,它需要在你調(diào)用 new Vue() 啟動(dòng)應(yīng)用之前完成,Vue.use() 方法至少傳入一個(gè)參數(shù),該參數(shù)類型必須是 Object 或 Function,如果是 Object 那么這個(gè) Object 需要定義一個(gè) install 方法,如果是 Function 那么這個(gè)函數(shù)就被當(dāng)做 install 方法。在 Vue.use() 執(zhí)行時(shí) install 會(huì)默認(rèn)執(zhí)行,當(dāng) install 執(zhí)行時(shí)第一個(gè)參數(shù)就是 Vue,其他參數(shù)是 Vue.use() 執(zhí)行時(shí)傳入的其他參數(shù)。就是說(shuō)使用它之后調(diào)用的是該組件的install 方法。
Vue.use()什么時(shí)候使用?
它在使用時(shí)實(shí)際是調(diào)用了該插件的install方法,所以引入的當(dāng)前插件如果含有install方法我們就需要使用Vue.use(),例如在Vue中引用Element如下:
import Vue from 'vue' import App from './App.vue' import router from './router' import store from './store' // 注冊(cè)elementUi import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) // 是否啟動(dòng)生產(chǎn)消息 Vue.config.productionTip = false new Vue({ router, store, render: h => h(App) }).$mount('#app')
利用 Vue.use
統(tǒng)一全局注冊(cè)組件
說(shuō)明:
Vue.use 可以接收一個(gè)對(duì)象, Vue.use(obj)
對(duì)象中需要提供一個(gè) install 函數(shù)
install 函數(shù)可以拿到參數(shù) Vue, 且將來(lái)會(huì)在 Vue.use 時(shí), 自動(dòng)調(diào)用該 install 函數(shù)
第一步:提供統(tǒng)一注冊(cè)的入口文件 src/componets/index.js
// 該文件負(fù)責(zé)所有的公共組件的全局注冊(cè) // vue插件機(jī)制: Vue.use import PageTools from './PageTools' export default { install(Vue) { Vue.component('PageTools', PageTools) } }
第二步:在入口處進(jìn)行注冊(cè) src/main.js
Vue.use 注冊(cè)使用自己的插件模塊
import Components from './components' Vue.use(Components)
總結(jié)
到此這篇關(guān)于vue項(xiàng)目main.js使用方法的文章就介紹到這了,更多相關(guān)vue項(xiàng)目main.js使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解VUE Element-UI多級(jí)菜單動(dòng)態(tài)渲染的組件
這篇文章主要介紹了VUE Element-UI多級(jí)菜單動(dòng)態(tài)渲染的組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Vue 全家桶實(shí)現(xiàn)移動(dòng)端酷狗音樂(lè)功能
這篇文章主要介紹了Vue 全家桶實(shí)現(xiàn)移動(dòng)端酷狗音樂(lè)功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11移動(dòng)端Vue2.x Picker的全局調(diào)用實(shí)現(xiàn)
這篇文章主要介紹了移動(dòng)端Vue2.x Picker的全局調(diào)用實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03element-ui復(fù)雜table表格動(dòng)態(tài)新增列、動(dòng)態(tài)調(diào)整行以及列順序詳解
這篇文章主要給大家介紹了關(guān)于element-ui復(fù)雜table表格動(dòng)態(tài)新增列、動(dòng)態(tài)調(diào)整行以及列順序的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08Vue3除了keep-alive還有哪些實(shí)現(xiàn)頁(yè)面緩存詳解
Vue3中的keep-alive組件用于緩存頁(yè)面,以便在切換頁(yè)面時(shí)保留其狀態(tài),下面這篇文章主要給大家介紹了關(guān)于Vue3除了keep-alive還有哪些實(shí)現(xiàn)頁(yè)面緩存的相關(guān)資料,需要的朋友可以參考下2024-04-04Vue+ElementUI實(shí)現(xiàn)從后臺(tái)動(dòng)態(tài)填充下拉框的示例代碼
本文主要介紹了Vue+ElementUI實(shí)現(xiàn)從后臺(tái)動(dòng)態(tài)填充下拉框的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Vue實(shí)現(xiàn)todo應(yīng)用的示例
這篇文章主要介紹了Vue實(shí)現(xiàn)todo應(yīng)用的示例,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-02-02