超碰人人人人人,色婷婷综合久久久久中文一区二区,国产-第1页-浮力影院,欧美老妇另类久久久久久

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

瀏覽器開發(fā)工具的使用——Sources面板

freeflydom
2025年5月14日 11:40 本文熱度 55

?? 面板介紹

Sources面板界面通常包含左、中、右三個區(qū)塊,下面將分別介紹各個區(qū)塊的功能。

網(wǎng)頁(Page)

顯示當前頁面已經(jīng)加載的靜態(tài)資源,包含html、JS、CSS、圖片、字體等,按照域名和路徑聚合成一個樹形結(jié)構(gòu)展示。 點擊文件名可以在中間區(qū)塊查看文件內(nèi)容以及文件信息等。對于html/css/js文件,會自動格式化方便查看;圖片文件會顯示圖片尺寸和大小等。

除此之外,還會展示已加載的瀏覽器擴展資源(如上圖中的CodeArts API);如果頁面有Web Worker運行,還會在與top同一層級顯示其他線程的JS代碼。

根據(jù)顯示的資源路徑,我們通常可以用來排查一些靜態(tài)資源404的問題。

工作區(qū)(Workspace)

可添加本地工程源碼,與網(wǎng)頁上代碼進行關(guān)聯(lián),在調(diào)試頁面修改的內(nèi)容會自動同步到本地文件中。

點擊“添加文件夾”后,選擇本地工程源碼的根目錄,點擊“允許”DevTools獲取對該文件夾完整訪問權(quán)限,已成功建立關(guān)聯(lián)的文件圖標中會顯示一個綠色的標識。

建立關(guān)聯(lián)之后,可直接在調(diào)試頁面修改文件內(nèi)容,也可新增/刪除文件等,按Ctrl+S保存后,修改的內(nèi)容會同步寫入到本地文件中。

如果不想繼續(xù)使用該功能,在根目錄右鍵選擇“從工作區(qū)移除”即可。

替換(Overrides)

可以用本地的內(nèi)容替換原本網(wǎng)絡(luò)請求(包括js、css、數(shù)據(jù)請求等)的內(nèi)容,實現(xiàn)不借助代理工具就可以完成簡單的mock調(diào)試等。可按照如下步驟操作:

  1. 本地創(chuàng)建一個用于保存替換內(nèi)容的文件夾(如:mock),在替換頁面選擇“選擇放置替換項的文件夾”,選擇已創(chuàng)建好的mock文件夾,點擊“允許”DevTools獲取對該文件夾完整訪問權(quán)限。
  2. 在網(wǎng)絡(luò)頁面選擇一個請求,右鍵選擇“替換內(nèi)容”,會自動幫我們在本地創(chuàng)建出一個文件,該文件圖標上會出現(xiàn)一個紫色的標識,并且網(wǎng)絡(luò)面板圖標也會出現(xiàn)黃色警告標識請求有修改。

 修改文件內(nèi)容后保存,后續(xù)的請求結(jié)果會以本地的內(nèi)容替換,被替換的請求也會標識出來。

不想繼續(xù)使用替換,可以去掉“啟動本地替換”的勾選,或者直接清除配置。

內(nèi)容腳本(Content scripts)

瀏覽器擴展的js腳本,用來調(diào)試已安裝的瀏覽器擴展。

代碼片段(Snippets)

可以將一些常用的可運行代碼片段持久化保存,方便下次快速運行。

點擊添加“新代碼段”,可以為這段代碼命名,編輯內(nèi)容后按Ctrl+S保存,在代碼片段名右擊選擇“運行”。

?? 斷點調(diào)試

調(diào)試首先需要設(shè)置斷點,讓程序運行到指定的地方暫停,分析此時的數(shù)據(jù)是否符合預(yù)期,從而排查問題。

代碼行斷點

  1. 普通斷點:調(diào)試中最常用的斷點。

可以通過代碼添加debugger語句(調(diào)試完還要手動移除,不推薦);或者在文件內(nèi)容行號點擊鼠標左鍵添加藍色的斷點標記,再次點擊可取消。

  1. 條件斷點:條件斷點只有當設(shè)置的條件滿足時才會暫停。

行號右擊選擇“添加條件斷點”,輸入進入斷點的條件,然后按回車生效,會生成一個橙色的斷點標記。

  1. 日志斷點:運行到日志斷點不會暫停,會運行設(shè)定好的打印語句。

行號右擊選擇“添加日志點”,按照console.log格式輸入打印語句,然后按回車生效,會生成一個紫紅色的斷點標記。

異常斷點

設(shè)置異常斷點可以快速定位到產(chǎn)生異常的位置。

  1. 遇到未捕獲的異常時暫停

對于如Angular框架有全局異常捕獲無法進入斷點。

  1. 在遇到異常時暫停

XHR/提取斷點

網(wǎng)址中包含設(shè)定的內(nèi)容時中斷,當指定的網(wǎng)絡(luò)請求發(fā)送前,會進入中斷狀態(tài)。

事件監(jiān)聽器斷點

觸發(fā)對應(yīng)事件后會進入暫停狀態(tài),比如鼠標的click事件,定時器,剪貼板等。只有注冊了對應(yīng)事件的監(jiān)聽才會生效。

以定時器為例,可以快速定位到定時器觸發(fā)執(zhí)行的位置。

DOM斷點

可以在指定dom元素發(fā)生修改后進入中斷。

此斷點需要在元素(Element)面板中添加。找到指定元素,鼠標右鍵后選擇“發(fā)生中斷的條件”,可以勾選選擇“子樹修改”、“屬性修改”或“移除節(jié)點”,當勾選的條件滿足時就會進入中斷狀態(tài)。

CSP違規(guī)斷點

當網(wǎng)頁嘗試加載或執(zhí)行違反CSP策略的內(nèi)容時,瀏覽器會自動暫停執(zhí)行并觸發(fā)一個斷點。

調(diào)試

代碼運行至斷點處,進入中斷狀態(tài),此時前端頁面顯示“已在調(diào)試程序中暫停”,Sources面板中顯示“已在斷點暫?!?,并且調(diào)試頁面代碼跳轉(zhuǎn)至暫停的代碼行,并且此行黃色顯示。

 光標懸浮至變量可以看到當前變量的值,也可在控制臺中打印變量的值,或者執(zhí)行腳本修改變量的值。

同時在右側(cè)區(qū)塊,作用域和調(diào)用堆棧都顯示出了內(nèi)容。

作用域:可以看到暫停時當前位置可以訪問變量的值,包含當前代碼塊、本地、閉包、腳本等。 通過查看各種變量的值判斷代碼執(zhí)行的結(jié)果是否符合預(yù)期。

調(diào)用堆棧:可以查看函數(shù)的調(diào)用鏈,用來查看當前的調(diào)用關(guān)系。 選中某個函數(shù)右鍵選擇“重啟幀”可以回到開始調(diào)用該函數(shù)的狀態(tài)(列如異步場景等無法重啟)。

如果不關(guān)注第三方庫函數(shù)的調(diào)用,可以右鍵忽略指定的js腳本或者忽略全部第三方腳本,忽略后默認不會顯示在調(diào)用堆棧中,顯示更簡潔方便快速排查業(yè)務(wù)代碼問題。

 忽略的腳本名稱將顯示為灰色,同時查看文件時會提示已加入忽略列表,右鍵腳本名稱可以從忽略列表中移除;忽略規(guī)則可以在設(shè)置中配置。

當暫停后查看數(shù)據(jù)沒有問題,需要繼續(xù)排查,開發(fā)工具在右側(cè)區(qū)塊頂部提供了一些操作按鈕,分別是:

  1. 快捷鍵:F8 或 Ctrl + \?;謴痛a運行,直到進入下個斷點。
  2. 快捷鍵:F10 或 Ctrl + '。跳過下一個函數(shù)調(diào)用,進入下一行。
  3. 快捷鍵:F11 或 Ctrl + ;。進入下一個函數(shù)調(diào)用。
  4. 快捷鍵:Shift + F11 或 Ctrl + Shift + ;。跳出當前函數(shù)。
  5. 快捷鍵:F9。單步調(diào)試。遇到函數(shù)會進入函數(shù)中,F10的操作不會。
  6. 快捷鍵:Ctrl + F8。停用斷點。不進入中斷狀態(tài)。

監(jiān)視器:在每次暫停時,會獲取監(jiān)視變量當前狀態(tài)下最新的值,便于快速發(fā)現(xiàn)非預(yù)期的變化。

點擊監(jiān)視器右側(cè)的“添加”按鈕,輸入變量名或者JS表達式,按下回車生效。已經(jīng)存在的監(jiān)視器可以點擊“刪除”按鈕刪除掉。

?? 線上調(diào)試

線上部署的代碼經(jīng)過構(gòu)建之后被混淆和壓縮,同時為了安全不會將sourcemap文件發(fā)布至線上環(huán)境,因此線上環(huán)境的代碼即使經(jīng)過格式化后也很難閱讀,難以直接調(diào)試。

可以按照如下步驟加載本地的sourcemap文件進行調(diào)試:

  1. 在本地使用與線上相同的源代碼運行構(gòu)建命令(需要在打包配置中開啟sourceMap: true),在產(chǎn)物目錄中找到與js文件同名的.map文件,比如js文件名為:main.6ef9f3836c78083e.js,需找到main.6ef9f3836c78083e.js.map文件,然后用瀏覽器打開后復制地址欄的鏈接。

  1. 在線上對應(yīng)的js文件文件內(nèi)容區(qū)域,右鍵選擇“添加源代碼映射”,輸入復制的文件地址,然后點擊添加。

如果沒有此選項,需在設(shè)置中開啟JavaScript源代碼映射。

  1. 添加成功后左側(cè)區(qū)塊會出現(xiàn)webpack的源碼目錄。點擊添加斷點時,就會自動跳轉(zhuǎn)至源代碼的對應(yīng)的位置,然后可以像本地調(diào)試一樣調(diào)試代碼。

注意:即使是同一份代碼,可能會因為依賴版本不一致導致線上和本地構(gòu)建出的文件hash不相同,即使可以成功加載sourcemap文件也會因為映射具有差異而失效。

?轉(zhuǎn)自https://juejin.cn/post/7502047502342996008


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