這篇文章跟大家分享11個chrome進階除錯技巧,學會效率直接提升666%,希望對小夥伴有幫助!
chrome瀏覽器作為前端童鞋的老婆
,相信你一定不陌生。 調頁
、寫BUG
、畫樣式
、看php片
少了它整個世界都不香了。
不信?一起來看看我們的老婆
有多厲害....
在與後端當介面聯調或排查線上BUG時,你是不是也常聽到他們說這句話:你再發起一次請求試試,我這邊看下為啥出錯了!
重發請求,這有一種簡單到髮指的方式。
選取Network
#點選Fetch/XHR
#Fetch/XHR
Replay XHR
2#. 在控制台快速發起請求
重新發起,有啥快捷方式?
#Fetch/XHR
##選擇
Copy as fetch
修改參數,回車搞定
曾經我總是用改程式碼或手寫
3#. 複製JavaScript變數
假如你的程式碼經過計算會輸出一個
複雜的物件
copy函數,將
物件作為入參執行即可
JSON.stringify(fetfishObj, null, 2)列印到控制台,再手動複製貼上,這效率實在是太低了...
JS 知道它的一些屬性,如
寬、
高
控制台直接用$0存取
?
準備好需要截圖的內容
執行Command
指令Capture full size screenshot
按下回車############如果要截取選取的部分元素呢? #########答案也很簡單,第三步輸入###Capture node screenshot####即可##################6#.當你一鍵展開所有DOM元素#########調試元素時,在層級比較深的情況下,你是不是也常常一個個展開去調試?有一種更快捷的方式############按住###opt###鍵click(需要展開的最外層元素)############ ############7#. 控制台引用上一次執行的結果##########來看看這個場景,我猜你也一定遇到過, 對某個字串進行了各種工序,然後我們想知道每一步執行的結果,該咋辦? 。 ###
'fatfish'.split('').reverse().join('') // hsiftaf######你可能會這樣做#######
// 第1步 'fatfish'.split('') // ['f', 'a', 't', 'f', 'i', 's', 'h'] // 第2步 ['f', 'a', 't', 'f', 'i', 's', 'h'].reverse() // ['h', 's', 'i', 'f', 't', 'a', 'f'] // 第3步 ['h', 's', 'i', 'f', 't', 'a', 'f'].join('') // hsiftaf
更简单的方式
使用$_
引用上一次操作的结果,不用每次都复制一遍
// 第1步 'fatfish'.split('') // ['f', 'a', 't', 'f', 'i', 's', 'h'] // 第2步 $_.reverse() // ['h', 's', 'i', 'f', 't', 'a', 'f'] // 第3步 $_.join('') // hsiftaf
有的同学喜欢chrome的白色主题,有的喜欢黑色,我们可以使用快捷键迅速切换两个主题。
cmd + shift + p
执行Command
命令
输入Switch to dark theme
或者Switch to light theme
进行主题切换
$
"和"$$
"选择器在控制台使用document.querySelector
和document.querySelectorAll
选择当前页面的元素是最常见的需求了,不过着实有点太长了,咱们可以使用$
和$$
替代。
$i
直接在控制台安装npm包你遇到过这个场景吗?有时候想使用比如dayjs
或者lodash
的某个API
,但是又不想去官网查,如果可以在控制台直接试出来就好了。
Console Importer 就是这么一个插件,用来在控制台直接安装npm
包。
安装Console Importer
插件
$i('name')安装npm包
假设有下面这段代码,咱们希望食物名字是?
时才触发断点,可以怎么弄?
const foods = [ { name: '?', price: 10 }, { name: '?', price: 15 }, { name: '?', price: 20 }, ] foods.forEach((v) => { console.log(v.name, v.price) })
这在大量数据下,只想对符合条件时打断点条件将会非常方便。试想如果没有条件断点咱们是不是要点n次debugger?
以上是11個可以提升效率的chrome調試技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!