Vue(二):調試神器vue-devtools安裝和使用


前言

vue-devtools是一款基於chrome游覽器的插件,用於調試vue應用,這可以極大地提高我們的調試效率。接下來我們就介紹一下vue-devtools的安裝。

安裝

1.chrome商店直接安裝

vue-devtools可以從chrome商店直接下載安裝,非常簡單,這里就不過多介紹了。不過要注意的一點就是,需要翻牆才能下載。

2.手動安裝

第一步:找到vue-devtools的github項目,並將其clone到本地. vue-devtools

git clone https://github.com/vuejs/vue-devtools.git

第二步:安裝項目所需要的npm包

npm install //如果太慢的話,可以安裝一個cnpm, 然后命令換成 cnpm install

第三步:編譯項目文件

npm run build

第四步:添加至chrome游覽器

游覽器輸入地址“chrome://extensions/”進入擴展程序頁面,點擊“加載已解壓的擴展程序...”按鈕,選擇vue-devtools>shells下的chrome文件夾。

/**
*如果看不見“加載已解壓的擴展程序...”按鈕,則需要勾選“開發者模式”。
*/

 

 

到此添加完成,效果圖如下:

 

使用

1.入門

讓我從一個超級簡單的Vue應用程序開始帶大家去熟悉Vue的DevTools。

正如你所看到的,我有一個輸入字段綁定到一個叫做name的模型,然后是一個列表,它遍歷一個cat數組。首先你可能會注意到你的開發工具是“宣布”自己的擴展類型 - 以防你忘了注意右邊的標簽。

點擊Vue選項卡將顯示特定於Vue的選項。首先是組件。在我的應用程序中,我只有一個Root應用程序,當您單擊它時,它會右側顯示可用的數據。

這是“live”,所以如果我輸入字段,它會立即反映在dev tools視圖中。更好的是,您可以直接在devtools中進行編輯。將鼠標懸停在項目上將使您可以編輯控件:

DevTools擴展到數組-有完全移除或添加items的選項。要添加item,您需要輸入有效的JSON,擴展名將在您輸入時提供實時反饋。

2.DevTools擴展也可以處理computed屬性

我在代碼上在computed屬性添加oldcats函數,將cats的數據遍歷輸出一個age>10的結果,DevTools擴展會將這個結果顯示出來。

你不能編輯這些值(因為這是computed的!),但是如果你在數據數組中編輯一個比10更大的值,它將立即顯示在下面的computed列表中。

Nice!可能在computed中查看相關函數的數據還沒令你感到興奮的話,那么遠程數據源呢?

我使用Star Wars API 作為我的數據源。項目一旦運行,我可以看到devtools擴展中的遠程數據,甚至可以編輯它。

3.自定義組件(Components)

那么自定義組件呢?這里是我定義了一個cat組件的腳本。坦白地說,Vue並沒有在默認情況下使用它,這是一個嚴重的錯誤。

現在看看devtools如何認識新的組件:

注意它是如何拾取發送給它的屬性的。現在我要跳過Vuex選項卡,直接進入Events。GitHub倉庫中的自述文件不會告訴您一點是“Events”選項卡僅適用於組件所定制的自定義事件。所以當我使用了一個簡單的@ click =“doSomethingYo”測試,它並沒有呈現,一開始我認為它在渲染的時候被破壞了其實並不是的。在上面的代碼示例中,您可以看到我有一個click事件,但是點擊它沒有發生任何事情。我不得不修改代碼來觸發出新的事件。

有了這個,你現在可以看到記錄的events。有趣的是,devtools擴展會讓你知道哪一個事件被解雇了:

點擊標簽,然后event讓你檢查是什么觸發了它和其他額外的信息。

4.使用Vuex

現在讓我們看看Vuex。去年12月,Raymond Camden的博客上發布了一個示例應用程序,它利用Vuex構建了一個簡單的股票游戲。這就是Vue DevTools的真正意義所在。您可以深入了解存儲中的數據以及運行的突變列表。

左邊的是“live”,在股票應用中非常酷,因為它有一個“心跳”,每隔幾秒就會發生一次突變。點擊它們可以提供有關特定突變的詳細信息。

更酷的是你可以通過一個特定的突變來拒絕或回滾你的存儲狀態。

您還可以使用導出/導入命令來保存/恢復您的Vuex狀態。這對於調試問題是非常有用的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM