国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何讓調試線上 JS 報錯像調試本地源碼一樣優雅?

開發 前端
通過Sourcemap,我們可以調試線上報錯的時候直接對應到本地源碼來斷點調試。要讓線上代碼關聯Sourcemap 可以通過 Charles 斷點修改對應的響應,加上一行 SourceMappingURL=xxx 的注釋。

當線上有報錯的時候,大家是怎么定位問題的呢?

斷點調試么?

但是這時候代碼是被壓縮過的,變量名都是 a、b、c、d 這種,根本看不出啥來。

如果調試線上報錯能像本地開發的時候一樣就好了。

其實這是可以做到的,今天就分享下如何優雅的調試線上報錯:

首先,我們準備一段 JS 代碼:

圖片

這是我隨便找的一段 JS 代碼,里面拋了一個錯誤。

然后用 webpack 進行編譯:

圖片

在 index.html 里引入構建產物:

圖片

然后跑個靜態服務器 npx http-server .

圖片

瀏覽器訪問,就會發現代碼確實報錯了:

圖片

那問題來了,怎么定位錯誤原因呢?

首先,我們可以使用異常斷點,在拋異常的地方斷?。?/p>

創建一個 vscode 調試配置:

圖片

勾選 uncaught exceptions,在未被捕獲的異常處斷住:

圖片

然后啟動調試:

圖片

你會發現代碼在拋異常的地方斷住了,這就是異常斷點的功能。當你不知道哪里拋的異常的時候,可以用這個。

但現在代碼是被壓縮過的,看不出啥來:

圖片

怎么能直接定位到拋異常的源碼呢?

這時候就要用到 sourcemap 了,它就是用于把編譯后的源碼映射回源碼的:

圖片

首先要生成 sourcemap,這個配置下 webpack 的 devtool 為 hidden-source-map 即可:

圖片

hidden-source-map 的意思是生成 sourcemap 但是不關聯。

圖片

如果你配成 source-map,代碼是關聯了 sourcemap 的:

圖片

線上代碼不會這樣做。

關聯 sourcemap 需要在文件末尾加上 //# sourceMappingURL=xxx.js.map 的代碼。

但現在這個文件是線上的,不能直接改本地文件。我們可以使用 charles 的斷點功能來修改它:

charles 默認不代理 127.0.0.1 的請求,我們要配下 hosts:

圖片

比如我配了一個 www.guangtest.com 的域名到 127.0.0.1。

試一下:

圖片

hosts 配置生效了:

圖片

然后我們要讓 charles 攔截這個 url 的請求,需要安裝一個插件 SwitchyOmega

不過在那之前要指定一個數據目錄,也就是瀏覽器把插件、歷史、cookie 等數據保存在哪里:

圖片

不指定的話每次調試都會創建一個臨時數據目錄來跑調試,上次安裝的插件就沒有了。

chrome 應用商店搜索 switchy omega:

圖片

配置下代理服務器,這里我 charles 是在 127.0.0.1:8888 的:

圖片

之后配下 auto switch,讓 www.guangtest.com 的請求都走我們剛剛配的代理:

圖片

之后點擊應用選項。

代理方式設置成 auto switch,也就是根據配置的規則自動切換代理:

圖片

這個網頁的代理配成 charles 之后,在 charles 就可以抓到對應的請求了:

圖片

接下來就是斷點修改響應的內容了:

點擊 Proxy > Breakpoint Settings

圖片

添加一個對 guangtest.com 的 dist/index.js 響應的斷點:

圖片

強制刷下頁面,charles 就會斷?。?/p>

我們可以修改響應的內容,然后點擊 execute 來執行修改:

圖片

我加上了這樣一行 sourcemap 的關聯:

圖片

在 chrome devtools 里可以看到拿到的響應是被修改過的:

圖片

異常斷點現在直接在源碼處斷住了:

圖片

接下來就可以直接調試源碼了,可以通過作用域、調用棧等信息來定位報錯原因:

圖片

這樣我們就完成了直接本地調試線上報錯代碼對應的源碼!

案例代碼在:https://github.com/QuarkGluonPlasma/fe-debug-exercize。

總結

通過 sourcemap,我們可以調試線上報錯的時候直接對應到本地源碼來斷點調試。

要讓線上代碼關聯 sourcemap 可以通過 charles 斷點修改對應的響應,加上一行 sourceMappingURL=xxx 的注釋。

然后在 VSCode Debugger 里加個異常斷點,這樣就可以在異常處斷住。

這樣就可以快速定位線上錯誤的原因了,體驗就和本地開發時一樣!

責任編輯:姜華 來源: 神光的編程秘籍
相關推薦

2013-12-17 09:02:03

Python調試

2025-09-12 00:00:00

DevToolsJavaScript調試術

2014-02-27 13:10:57

Visual Stud調試

2022-08-26 08:17:32

Sidekick開源

2015-11-06 16:20:36

107

2015-11-09 10:07:11

107

2017-05-22 10:33:14

PythonJuliaCython

2021-09-07 10:29:11

JavaScript模塊CSS

2022-07-31 19:57:26

react項目VSCode

2011-10-24 13:07:00

2009-12-08 14:26:13

大型網絡運維

2015-03-16 12:50:44

2013-08-22 10:17:51

Google大數據業務價值

2025-05-19 08:24:29

圖片加載開發

2009-12-08 18:06:12

戴爾存儲動車組

2023-04-05 14:19:07

FlinkRedisNoSQL

2025-01-09 10:32:05

2021-04-13 22:30:17

SpringBoot日志微服務

2021-10-02 10:36:00

YAML編程語言軟件開發

2012-10-26 12:33:58

視頻會議視頻通信華為
點贊
收藏

51CTO技術棧公眾號

日本成人三级电影网站| 高清在线一区二区| 成人黄色片视频| 久久久成人精品一区二区三区| 亚洲一区二区三区xxx视频| 久久99精品久久久久久噜噜| 亚洲视频在线观看网站| 日韩免费电影网站| 在线观看免费亚洲| 欧美日韩中文在线| 在线精品视频一区二区| 日本大香伊一区二区三区| 色综合天天综合网国产成人综合天| 亚洲一区中文日韩| 欧美日韩激情网| 欧美手机在线视频| 亚洲精品黄网在线观看| 亚洲精品大尺度| www日韩欧美| 国产精品r级在线| 久久久久久国产三级电影| 亚洲美女偷拍久久| 国产一区二区在线影院| 国产精品一区二区黑丝| 粉嫩粉嫩芽的虎白女18在线视频| 91禁外国网站| 欧美高清视频一区二区| 欧美日韩高清在线观看| 91精品国产高清久久久久久91| 久久久精品国产网站| 美女精品久久久| 成人性生交xxxxx网站| 综合视频在线观看| 69日小视频在线观看| 在线网址91| 国内精品国产成人国产三级粉色| 女生裸体视频一区二区三区| 狠狠久久婷婷| 99久久婷婷国产精品综合| 五月综合激情网| 在线精品视频小说1| 午夜视频在线观看一区| 99久久777色| 久久久久国产精品人| 色哟哟在线观看一区二区三区| 日韩av在线网址| 国产亚洲精品日韩| 国产精品美女www爽爽爽视频| 日韩av电影免费在线观看| 国产精品拍拍拍| 日韩美女网站| 亚洲综合网狠久久| 久久成人久久爱| 亚洲精品成a人| 一区二区三区亚洲| 免费99视频| 天天色综合6| 国产亚洲成av人片在线观看| 天天做天天爱综合| 久久精品视频在线免费观看| 欧美久久久久免费| 奇门遁甲1982国语版免费观看高清| 日韩成人中文电影| 国产一区二区三区日韩欧美| 国语自产精品视频在线看一大j8| 国产日韩一区欧美| 九色porn| 亚洲国产一区二区三区网站| 秋霞成人午夜伦在线观看| 亚洲成人动漫一区| 精品亚洲免费视频| 久久夜色精品一区| 6080日韩午夜伦伦午夜伦| 日韩av片永久免费网站| 男人日女人下面视频| 成人免费网站观看| 欧美日韩福利| 午夜av一区二区| 国产精品va在线播放| 亚洲jjzzjjzz在线观看| 亚洲一区 二区| 97久久超碰精品国产| 久久这里有精品视频| 久久亚洲国产成人精品无码区| 91av久久| 国产乱码午夜在线视频| 蜜桃精品视频| 久久久久久久久久久久久女国产乱| 亚洲精品在线电影| 久久久伊人日本| 日韩免费在线观看av| 日韩电影免费观| 九九**精品视频免费播放| 精品免费在线视频| 成人欧美一区二区三区黑人孕妇| 情趣网站在线观看| 香蕉视频成人在线观看| 91精品国产91久久久久久久久| 亚洲kkk444kkk在线观看| 99精品在线免费在线观看| 亚洲乱码国产乱码精品精的特点| 久久久久久中文字幕| 国产一区二区在线视频播放| 成人豆花视频| av男人天堂一区| 久久久久久国产三级电影| 高清视频在线www色| 国产精品97| 欧美精品在线观看播放| 亚洲精品无人区| 成人欧美一区二区三区的电影| 国产精品一区二区三区四区| 久久中文久久字幕| 91色视频在线| www.亚洲在线| 国产日韩在线一区| 美女网站视频在线| 国产精品久久久久久精| 中文字幕在线观看播放| 欧美一级久久| 精品一区二区三区四区在线| 视频在线这里都是精品| 秋霞影院一区| 欧美亚洲综合一区| 国产精品自拍视频在线| av资源网一区| 九九久久九九久久| 国产精品91一区二区| 久久99久久99精品| 欧美在线激情网| 乱妇乱女熟妇熟女网站| 成人午夜视频免费看| 激情视频小说图片| 欧美日韩少妇| 久久天天躁狠狠躁夜夜爽蜜月| 日韩在线一级片| 欧美精品18| 精品国产凹凸成av人导航| 五月天国产一区| 91成人福利| 亚洲国产精品二十页| 国产精品电影久久久久电影网| 99亚洲伊人久久精品影院| 精品一区二区三区四区在线| 欧美电影免费观看| 久久精品99国产精品酒店日本| 在线精品自拍| 国产日本欧美一区二区三区| 亚洲澳门在线| 日韩精品一区二区三区色偷偷| 国产高清不卡一区二区| 欧美午夜性生活| 富二代精品短视频| 高清电影在线免费观看| 欧美疯狂做受xxxx高潮| 图片小说视频色综合| 久久av一区二区三区漫画| 国产麻豆精品在线观看| 国产无遮挡又黄又爽免费软件| 在线观看视频欧美| 51精品国产| 99在线看视频| 亚洲综合社区| 成人影片在线播放| 欧美hd在线| 国产精品久久久久久久久久久久久久 | 亚洲一区二区av| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 午夜av一区二区| 色是在线视频| 国产色综合天天综合网| 男人的天堂久久精品| 国产国语**毛片高清视频 | 国产偷国产偷亚洲清高网站| 麻豆影视国产在线观看| 亚洲精品视频一区二区| 中文字幕一区二区三区精彩视频| 波多野结衣在线播放一区| 欧美亚洲成人xxx| 日韩dvd碟片| 裸体裸乳免费看| 日韩毛片精品高清免费| 免费看电影在线| 国产不卡在线观看| 99热精品国产| 亚洲天堂二区| 欧美一级高清片| 精品日韩99亚洲| 色呦呦网站入口| 亚洲一二三区在线观看| 欧美xxx黑人xxx水蜜桃| 国产精欧美一区二区三区| 国产精品88av| 麻豆国产在线播放| 午夜精品久久久久久久99黑人| 亚洲精品影院| 蜜桃视频成人m3u8| 成人免费看片网址| 国产日韩欧美制服另类| 九九色在线视频|