LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

前端調(diào)試太痛苦?這 7 個技巧直接解決 90% 問題!

liguoquan
2025年7月26日 17:23 本文熱度 868
:前端調(diào)試太痛苦?這 7 個技巧直接解決 90% 問題!


前端調(diào)試太痛苦?這 7 個技巧直接解決 90% 問題!

大家好,我是 前端架構(gòu)師 - 大衛(wèi)

更多優(yōu)質(zhì)內(nèi)容請關(guān)注微信公眾號 @程序員大衛(wèi)

初心為助前端人??,進(jìn)階路上共星辰?,

您的點(diǎn)贊??與關(guān)注??,是我筆耕不輟的燈??。

背景

在前端開發(fā)和排查線上問題的過程中,我們經(jīng)常會遇到調(diào)試受限的場景:無法直接修改線上代碼、hover 和 select 樣式難以定位、JS 報錯追蹤困難等。為了提高調(diào)試效率,我們可以借助 Proxyman、Chrome DevTools 等工具,掌握一些實(shí)用的小技巧,讓復(fù)雜問題的排查變得更加簡單高效。

1. 使用 Chrome 自帶的替換功能

  1. 打開 Chrome 開發(fā)者工具,切換到 Network 面板。在請求列表中右鍵點(diǎn)擊 www.baidu.com,選擇 Override content

  1. 頁面上方會出現(xiàn)一個提示欄,點(diǎn)擊其中的 Select folder 按鈕:

  1. 在彈出的文件選擇器中,選擇 桌面 文件夾。隨后會彈出一個對話框,詢問是否允許開發(fā)者工具修改文件,點(diǎn)擊 修改文件

  1. Chrome 會自動在桌面創(chuàng)建一個名為 www.baidu.com 的文件夾:

  1. 在 index.html 的 <head> 標(biāo)簽內(nèi)插入如下代碼,并保存文件:

<script src="https://unpkg.com/vconsole/dist/vconsole.min.js"></script><script>var vConsole = new VConsole();</script>
  1. 返回瀏覽器并"刷新"百度首頁,可以看到頁面右下角已經(jīng)成功出現(xiàn)了 vConsole 調(diào)試面板

2. 使用 Proxyman 的本地映射(Map Local)

我們可以通過本地映射功能隨意修改線上代碼,或插入自定義腳本來進(jìn)行調(diào)試。假設(shè)我們要調(diào)試的頁面是 百度首頁,這里以插入 vConsole.js 為例說明。

先打開 Proxyman,然后在瀏覽器中訪問 "百度首頁"。接著回到 Proxyman,按下 Command + F,輸入 www.baidu.com 來過濾相關(guān)請求。

右鍵選中該請求,點(diǎn)擊 工具 - 本地映射

在彈出的配置面板中,名稱可以填寫為 vConsole,然后在下方的主體內(nèi)容區(qū)域,在 <head></head> 標(biāo)簽內(nèi)插入以下腳本:

<script src="https://unpkg.com/vconsole/dist/vconsole.min.js"></script><script>var vConsole = new VConsole();</script>

點(diǎn)擊“保存”按鈕。

刷新 "百度首頁",就會看到右下角已經(jīng)成功加載了 vConsole

注:Charles 中也有類似的功能操作。

3. 使用 Proxyman 的遠(yuǎn)程映射(Map Remote)

遠(yuǎn)程映射與本地映射類似,首先同樣選中百度的請求,右鍵點(diǎn)擊 工具 - 遠(yuǎn)程映射

在彈出的窗口中:

  • 名稱可以隨意取,比如 "百度遠(yuǎn)程映射到本地"

  • 主機(jī)地址填寫為你本地開啟的服務(wù)地址,如 http://127.0.0.1:5501/index.html

失去焦點(diǎn)后,系統(tǒng)會自動填充協(xié)議、端口和路徑等字段。

點(diǎn)擊 “完成” 按鈕即可。

刷新"百度首頁",此時你會看到內(nèi)容已經(jīng)成功映射為本地頁面。

4. 手動添加 Source Map

當(dāng)項(xiàng)目上線后,如果沒有接入錯誤監(jiān)控系統(tǒng),前端報錯往往很難追蹤源頭。

以一個 Vite 創(chuàng)建的 Vue 項(xiàng)目為例,App.vue 中代碼如下:

<script setup lang="ts">const hanldeClick = () => {  throw new Error("test error.");};</script><template>  <h1 @click="hanldeClick">點(diǎn)擊我報錯!</h1></template>

運(yùn)行以下命令完成構(gòu)建并啟動本地預(yù)覽,接著點(diǎn)擊頁面上的 "點(diǎn)擊我報錯! ",此時控制臺會輸出錯誤信息。

pnpm buildpnpm preview

我們會發(fā)現(xiàn)報錯信息無法定位到具體文件和位置。此時可以手動添加 Source Map 文件。

Console 面板中點(diǎn)擊報錯的文件名:

它會自動在 Sources 面板中打開對應(yīng)的 JS 文件,然后右鍵點(diǎn)擊并選擇 Add source map...

在彈出的輸入框中輸入 Source Map 地址,比如本地啟動的文件:

http://127.0.0.1:5501/index-Dp1zXMZ4.js.map

點(diǎn)擊 "Add" 按鈕完成。

此時Console 面板中的錯誤提示就可以定位到源文件了:

?? PS:這個 .map 文件是怎么生成的?

只需在 vite.config.ts 中設(shè)置 build.sourcemap: true,然后執(zhí)行命令 pnpm run build,即可生成對應(yīng)的 Source Map 文件。

import { defineConfig } from "vite";import vue from "@vitejs/plugin-vue";export default defineConfig({  plugins: [vue()],  build: {    sourcemap: true,  },});

5. Select 下拉框的樣式調(diào)試

調(diào)試下拉框樣式時,經(jīng)常會遇到這樣的問題:當(dāng) Select 下拉內(nèi)容展開后,一旦切換到瀏覽器 DevTools 面板,下拉內(nèi)容就會自動收起,無法繼續(xù)選中或查看相關(guān)樣式。

下面以 "Ant Design" 的 Select 組件 為例說明:

解決方法是打開 DevTools 的 More tools 菜單,選擇 Rendering

在打開的 Rendering 面板中,勾選 Emulate a focused page

此時就可以輕松調(diào)試 Select 下拉樣式了:

6. Hover 樣式調(diào)試 - CSS 實(shí)現(xiàn)

如果 Hover 效果是通過 CSS 實(shí)現(xiàn)的,例如:

<h1>Hello</h1><style>h1:hover {  color: red;}</style>

可以在 DevTools 的 Styles 面板中點(diǎn)擊 :hov 按鈕:

勾選 :hover 選項(xiàng),就能手動激活 Hover 樣式效果:

7. Hover 樣式調(diào)試 - JS 實(shí)現(xiàn)(方式一)

在 Vue 項(xiàng)目中,許多 Hover 效果是通過 JS 綁定 mouseout 事件來實(shí)現(xiàn)的。為了便于調(diào)試這類效果,我們可以臨時移除相關(guān)事件監(jiān)聽。

下面以 "Element Plus" 的 Tooltip組件 為例,首先在 DevTools 中選中對應(yīng)的元素:

然后切換到 Event Listeners 面板,展開 mouseleave,點(diǎn)擊移除事件:

此時,當(dāng)我們再次將鼠標(biāo)懸停在該元素上并移開時,Tooltip 不會自動消失,這樣就可以方便地修改和調(diào)試其樣式了:

7. Hover 樣式調(diào)試 - JS 實(shí)現(xiàn)(方式二)

在 React 項(xiàng)目中,事件通常是綁定在應(yīng)用的根元素上,比較難移除,這時可以使用快捷鍵打斷點(diǎn)的方式。

下面以 "Ant Design" 的 Tooltip 組件 為例,首先得在 "DevTools" 中切換到 Sources 面板:

將鼠標(biāo)移動到 Tooltip 上的文字,然后按下 Mac 電腦快捷鍵 fn + F8(Windows 用戶直接按 F8),當(dāng)鼠標(biāo)移開時,斷點(diǎn)會自動觸發(fā):

現(xiàn)在就可以在斷點(diǎn)狀態(tài)下輕松修改樣式了:

總結(jié)

這篇文章分享了 6 個前端調(diào)試中非常實(shí)用的技巧,涵蓋了網(wǎng)絡(luò)層的本地/遠(yuǎn)程映射、source map 的手動添加,以及 select 和 hover 樣式的調(diào)試方法。掌握這些技巧,不僅能提升你在實(shí)際項(xiàng)目中的問題排查效率,也能幫助你在和后端聯(lián)調(diào)、線上問題定位時更加得心應(yīng)手。

建議將這些技巧收藏并在項(xiàng)目中多加實(shí)踐,你會發(fā)現(xiàn)前端調(diào)試其實(shí)可以非常絲滑


該文章在 2025/7/26 17:23:16 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲欧美综合久久久 | 精品国产门事件在线观看 | 色一情一伦一区二区三 | 亚洲国产成熟视频在线多多 | 亚洲中文字幕久久精品91 | 日本最新二区三区免费不卡区 |