溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Vue生產(chǎn)環(huán)境怎么調(diào)試

發(fā)布時間:2022-04-18 10:41:23 來源:億速云 閱讀:259 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Vue生產(chǎn)環(huán)境怎么調(diào)試”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Vue生產(chǎn)環(huán)境怎么調(diào)試”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

前言

vue 生產(chǎn)環(huán)境默認(rèn)是無法啟用vue devtools的,如果生產(chǎn)應(yīng)用出了問題,就很難解決。用本文提供的方法就可以實現(xiàn)線上debug vue,也不需要在瀏覽器上打斷點。

原理

先說下vue如何判斷devtools是否可用的。

vue devtools擴展組件會在window全局注入__VUE_DEVTOOLS_GLOBAL_HOOK__變量,Vue就是根據(jù)這個變量判斷是否需要調(diào)試的。

Vue生產(chǎn)環(huán)境怎么調(diào)試

vue根實例初始化之前判斷Vue.config.devtools是否為true。若為true,

則調(diào)用window.__VUE_DEVTOOLS_GLOBAL_HOOK__.emit('init', Vue)方法初始化調(diào)試面板。

本方法的原理都寫在代碼的注釋當(dāng)中

方法步驟

1.復(fù)制下面的js代碼,按F12 粘貼到控制臺執(zhí)行

2.關(guān)閉控制臺,再打開控制臺 就能看到Vue面板了

Vue生產(chǎn)環(huán)境怎么調(diào)試

代碼

function openVueTool(){
//在方法中執(zhí)行,避免污染全局變量
//開啟vue2 production調(diào)試的方法
 
//1.找vue實例,可以說99%的應(yīng)用是用的app.__vue__
//如果實在找不到,那么就到找到任意組件,用組件元素.__vue__.$root來獲取
var vue = app.__vue__
 
//2.vue構(gòu)造函數(shù)
var constructor = vue.__proto__.constructor
 
//3.Vue有多級,要找到最頂級的
var Vue = constructor;
while(Vue.super){
    Vue = Vue.super
}
console.log(Vue)
 
//4.找到config,并且把devtools設(shè)置成true
Vue.config.devtools = true;
 
//5.注冊到Vue DevTool上
var hook = window.__VUE_DEVTOOLS_GLOBAL_HOOK__
hook.emit('init',Vue)
 
 
//6.如果有vuex store,也注冊//這部分代碼參考了https://blog.csdn.net/weixin_34352449/article/details/91466542
if(vue.$store){
    var store = vue.$store;
    store._devtoolHook = hook;
    hook.emit('vuex:init', store);
    hook.on('vuex:travel-to-state',function(targetState){
        store.replaceState(targetState);
    });
    store.subscribe(function(mutation, state){
        hook.emit('vuex:mutation', mutation, state);
    });
}

}
 
openVueTool();

缺點

這個方法只是對當(dāng)前標(biāo)簽頁有效,就是說,如果你不小心(出于習(xí)慣)刷新了一下頁面,或者有新標(biāo)簽頁打開其他路由的需求,就需要重新走一遍上面的步驟。

長期解決方法

在瀏覽器安裝Tampermonkey插件,推薦用edge瀏覽器

安裝后點開插件的管理面板,新建一個腳本 粘貼下面的代碼

Vue生產(chǎn)環(huán)境怎么調(diào)試

Vue生產(chǎn)環(huán)境怎么調(diào)試

讀到這里,這篇“Vue生產(chǎn)環(huán)境怎么調(diào)試”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI