當咱們在瀏覽器開發vue頁面時,因爲瀏覽器對於調試有自然的支持,咱們開發起來很方便。可是如今已經進入了移動端時代,移動端頁面的需求愈來愈大。javascript
在開發移動端頁面的時候咱們一般是在瀏覽器完成開發完成,以後纔在手機端測試,若是測試出現問題還得從新回到瀏覽器上尋找錯誤。甚至還有嵌入在APP的頁面,通過調試以後還要從新發包。固然還有更加奇怪的現象,因爲手機瀏覽器和Web瀏覽器的差別,常常會發如今Web瀏覽器上好好的,一到手機上就不行的狀況。html
所以首先咱們須要一個能在手機端調試的插件。若是你還在使用alert一步步來定位移動端頁面bug的話,不妨試試vConsole。前端
vConsole是一個由微信公衆平臺前端團隊研發的Web前端開發者面板,可用於展現console日誌,方便開發、調試。能夠在vConsole.js下載地址下載所需的js。下載解壓以後,在dist文件夾中找到vconsole.min.js,加入工程中:vue
<script src="path/to/vconsole.min.js"></script> <script> // init vConsole var vConsole = new VConsole(); console.log('Hello world'); </script>
請注意,VConsole
只是 vConsole
的原型
,而非一個已實例化
的對象。因此在手動 new 實例化以前,vConsole
不會被插入到網頁中。java
在安裝完vConsole以後,你覺得事情就結束了嗎?git
還有一個很大的問題就是確定不能讓用戶看到咱們的調試頁面的,所以咱們須要偷偷給咱們的程序設置後門。github
這裏有兩種設計的思路以供參考:瀏覽器
在程序中某個地方設置長按10秒自動引入代碼。微信
首先長按10秒的效果須要3個事件結合才能產生。app
代碼以下,在標籤上引入這三個事件:
<div @touchstart="handleTouchstart" @touchmove="handleTouchmove" @touchend="handleTouchend"> <van-col span="24" class="loginPage-title">title<an-col> </div>
對應的方法:
handleTouchstart() { touchStart(); }, handleTouchmove() { touchMove(); }, handleTouchend() { touchEnd(); },
其中的touchStart,touchMove,touchEnd方法由外部文件import進來,便於統一管理,固然其實也能夠直接在這個文件裏實現。
首先什麼才叫長按10秒。touchstart而後開始計時10秒以後確定不叫長按10秒,這樣就叫作點擊事後10秒了。長按10秒應該是手指觸碰連續10秒,期間不能觸發touchmove和touchend事件。
所以思路應該是,touchstart開始計時,期間若是觸發了touchmove和touchend事件則將計時器重置:
let timeOutEvent = null; export const touchStart = () => { timeOutEvent = setTimeout(function () { longPress(); }, 10000); }; export const touchMove = () => { clearTimeout(timeOutEvent); timeOutEvent = 0; } export const touchEnd = () => { clearTimeout(timeOutEvent); }
在longPress
方法中去動態引入vConsole:
const longPress = () => { clearTimeout(timeOutEvent); //清除定時器 timeOutEvent = 0; //執行長按要執行的內容 vConsoleLog() }; const vConsoleLog = () => { let mapScript = document.getElementById("vConsoleLog"); if(mapScript){ return; } let script = document.createElement('script'); script.id = 'vConsoleLog'; script.type = 'text/javascript'; script.src = './console.js'; document.body.appendChild(script); }
這樣,咱們就在程序中植入了一個後門,須要調試的時候只須要長按10秒,vConsole就出來了。
若是想要嚴謹一點,不但願用戶在任什麼時候候看到這個調試按鈕的話,則能夠根據環境(env)來引入vConsole。
轉評贊就是最大的鼓勵
原文出處:https://www.cnblogs.com/xiaoyuehan/p/11457432.html