精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Chrome DevTools中的現代Web調試

系統 瀏覽器
架構

大家好,我是 CUGGZ。

如今,開發者通常會利用框架、構建工具和編譯器從更高級別的角度來編寫 Web 應用程序。在 DevTools 中調試或分析 Web 應用程序時,目前能查看和調試的都是已經編譯的代碼,而不是實際編寫的代碼。很多時候,我們并不想調試已經編譯、壓縮后的代碼,而是想調試原始代碼:

使用 TypeScript 時,不想調試編譯之后的 JavaScript,而是想調試原始的 TypeScript 代碼;

當使用 Angular、JSX 之類的模板時,并不希望調試生成的 DOM。而是調試自己編寫的組件。

總而言之,我們可能希望在編寫自己的代碼時對其進行調試。雖然 source maps 已經在一定程度上縮小了這一差距,但 Chrome DevTools 和生態系統可以在這方面做更多的事情。下面就來看一看吧!

1. Deployed 和 Authored 代碼

目前,在 Sources 面板中導航文件樹時,可以看到已編譯(通常已壓縮)包的內容,這些是瀏覽器下載和運行的實際文件。DevTools 將其稱為 Deployed 代碼。

圖片

這在調試時可能并不是很方便,我們希望查看和調試自己編寫的代碼,而不是打包完的代碼。為了彌補這一點,現在可以通過樹來顯示我們編寫代碼(這被稱為 Authored 代碼)。這使得樹更接近于在 IDE 中看到的源文件,并且這些文件現在與 Deployed 代碼是分離的:

圖片

可以在 Chrome DevTools 中開啟此選項:DevTools > Settings > Experiments > Group sources into Authored and Deployed trees.

圖片

注:Chrome DevTools 團隊計劃很快默認啟用此實驗選項。

2. Just my code

注:這是 Chrome Canary 106 版本的預覽功能。?

當使用依賴項或在框架之上構建應用時,第三方文件可能會阻礙我們的調試。多數時候,我們只想調試自己編寫的代碼,而不是隱藏在 node_modules 文件中的某些第三方庫的代碼。

為了彌補這一點,DevTools 默認啟用了一個額外的設置:自動將已知的第三方腳本添加到忽略列表。可以在 DevTools > Settings > Ignore List 中找到它。

圖片

啟用此設置后,DevTools 會隱藏框架或構建工具標記為忽略的任何文件或文件夾。作為開發者,我們不需要做任何事情來啟用這種新的行為,具體實施取決于框架。比如,從 Angular v14.1.0 開始,其 node_modules 和 webpack 文件的內容已被標記為忽略。因此,這些文件夾、其中的文件等都不會出現在 DevTools 的各個位置。

(1)在堆棧跟蹤中

這些被忽略的文件不再出現在堆棧跟蹤中,現在可以看到更多相關的堆棧跟蹤信息:

圖片

如果想查看堆棧跟蹤的所有調用幀,可以單擊顯示更多幀鏈接。

這同樣適用于在調試和單步執行代碼時看到的調用堆棧。當框架或打包程序通知 DevTools 的第三方腳本時,DevTools 會自動隱藏所有不相關的調用框架并在單步調試時跳過任何被忽略的代碼。

圖片

(2)在文件樹中

要想在 Sources 面板的 Authored 代碼樹中隱藏忽略的文件和文件夾,需要在 DevTools 的 Settings > Experiments 中選中 Hide ignore-listed code in sources tree view。

圖片

在示例的 Angular 項目中,node_modules 和 webpack 文件夾現在已經隱藏了:

圖片

(3)在快速打開菜單中

被忽略的代碼不僅可以在文件樹中隱藏,還可以在“快速打開”菜單(快捷鍵:Control+P (Linux/Windows) 或 Command+P (Mac))中隱藏。

圖片

3. 對堆棧跟蹤的改進

Chrome DevTools 對堆棧跟蹤引入了更多改進。

(1)Linked 堆棧跟蹤

當某些操作是異步觸發時,DevTools 中的堆棧跟蹤目前只能顯示部分情況。例如,在 framework.js? 文件中有一個簡單的 scheduler:

function makeScheduler() {
const tasks = [];

return {
schedule(f) {
tasks.push({ f });
},

work() {
while (tasks.length) {
const { f } = tasks.shift();
f();
}
},
};
}

const scheduler = makeScheduler();

function loop() {
scheduler.work();
requestAnimationFrame(loop);
};

loop();

在 example.js? 文件中使用 scheduler:

function someTask() {
console.trace("done!");
}

function businessLogic() {
scheduler.schedule(someTask);
}

businessLogic();

在 someTask? 方法中添加斷點或檢查控制臺中打印的跟蹤時,看不到任何與 businessLogic() 調用相關的信息:

圖片

在堆棧跟蹤中也看不到面包屑來幫助我們找出導致該任務的事件之間的因果關系。多虧了一個名為“Async Stack Tagging”的新功能,通過將異步代碼的兩個部分鏈接在一起,解決了這個問題。

Async Stack Tagging API 引入了一個名為 console.createTask() 的新控制臺方法。API 簽名如下:

interface Console {
createTask(name: string): Task;
}

interface Task {
run<T>(f: () => T): T;
}

console.createTask()? 調用返回一個 Task 實例,可以使用它來運行任務的內容 f。

// 任務創建
const task = console.createTask(name);

// 任務執行
task.run(f);

該任務形成了創建它的上下文和正在執行的異步函數的上下文之間的鏈接。

注:Async stack tagging API 將在 Chrome 106 中可用。

把它應用到 makeScheduler 函數中,代碼變為了這樣:

function makeScheduler() {
const tasks = [];

return {
schedule(f) {
const task = console.createTask(f.name);
tasks.push({ task, f });
},

work() {
while (tasks.length) {
const { task, f } = tasks.shift();
task.run(f); // instead of f();
}
},
};
}

有了它,Chrome DevTools 現在能夠更好的顯示堆棧跟蹤:

圖片

注意,businessLogic()? 現在是如何包含在堆棧跟蹤中的。不僅如此,該任務的名稱為 someTask? 而不是像以前那樣通用的 requestAnimationFrame。

(2)友好的調用幀

在構建項目時,框架通常會從各種模板語言生成代碼,例如 Angular 或 JSX 模板,它們將看起來像 HTML 的代碼轉換為最終在瀏覽器中運行的純 JavaScript。有時,這些生成的函數被命名為不太友好的名稱——要么是壓縮后的單字母名稱,要么是一些晦澀或不熟悉的名稱。

在示例項目中,包含一個名稱:AppComponent_Template_app_button_handleClick_1_listener,可以在堆棧跟蹤中看到它:

圖片

為了解決這個問題,Chrome DevTools 現在支持通過 source maps 重命名這些函數。作為開發者,我們無需執行任何操作即可啟用此功能,具體實施取決于框架。

通過本文列出來的新增功能,Chrome DevTools 可以為我們提供更好的調試體驗!Chrome 團隊還想探索更多領域,特別是如何改善 DevTools 中的分析體驗。期待 Chrome DevTools 未來可以帶來更友好的調試體驗!

參考:https://developer.chrome.com/en/blog/devtools-modern-web-debugging/

責任編輯:武曉燕 來源: 前端充電寶
相關推薦

2017-10-09 10:04:48

JavaScriptChrome DevT調試

2022-07-29 09:01:20

Chrome試源代碼調試技巧

2017-09-12 15:11:12

Chrome

2022-08-15 20:48:28

Chrome安卓網頁

2022-08-21 14:05:54

調試工具CDP

2022-08-26 08:17:32

Sidekick開源

2025-03-03 00:00:00

Chrome工具前端

2022-10-28 19:19:11

ChromeNetwork網絡

2022-08-23 23:19:12

ChromeCoverage

2025-07-11 04:00:00

2022-09-23 15:01:00

JavaScripChrome技巧

2022-11-10 09:00:41

2023-07-10 12:11:50

TypeScripChrome識別

2020-05-27 11:30:54

Chrome DevT前端命令

2021-05-11 10:03:06

性能優化工具Performance

2022-04-27 20:52:48

JSChrome元素

2021-12-17 00:10:00

ChromeDevtools功能

2021-12-25 22:30:27

Chrome DevTJavaScript調試工具

2021-05-21 10:24:52

AngularDevTools擴展

2011-08-10 13:32:24

Web
點贊
收藏

51CTO技術棧公眾號

婷婷久久国产对白刺激五月99| 99青草视频在线播放视| 影院欧美亚洲| 亚洲欧美日韩天堂| 91国内在线播放| 美女精品导航| 中文字幕va一区二区三区| 99久久伊人精品影院| 中文字幕视频网站| 午夜精品久久久久久久四虎美女版| 日韩欧美国产一区在线观看| 韩国日本在线视频| 岛国成人毛片| 久久综合视频网| 147欧美人体大胆444| 日韩在线视频免费播放| 亚洲国产精品久久久天堂| 国产视频精品免费播放| 日本网站在线看| 视频二区不卡| 亚洲成在人线免费| 一本—道久久a久久精品蜜桃| 日韩在线视频观看免费| 九色综合狠狠综合久久| 欧美最猛性xxxxx亚洲精品| 亚洲一级二级片| 免费欧美视频| 亚洲电影免费观看高清| 亚洲国产日韩在线一区| 国内自拍亚洲| 狠狠爱在线视频一区| wwwwww欧美| 国产高清一区二区三区视频| 欧美极品aⅴ影院| 久久99影院| 亚洲精品久久久久久无码色欲四季| 蜜臀a∨国产成人精品| 欧美亚洲另类激情另类| 国产小视频在线看| 一区二区三区四区日韩| 中文字幕欧美日韩| 国产sm调教视频| 综合亚洲色图| 亚洲国产日韩一区| 午夜免费福利影院| 8x国产一区二区三区精品推荐| 欧美日韩视频不卡| 一区二区三区视频在线观看免费| gay欧美网站| 激情懂色av一区av二区av| 国产成人艳妇aa视频在线 | 天天免费亚洲黑人免费| 亚洲午夜私人影院| 国产真实老熟女无套内射| 1stkiss在线漫画| 亚洲日本va在线观看| 综合操久久久| 50度灰在线| 亚洲另类春色国产| 女人被男人躁得好爽免费视频| 操你啦视频在线| 一区二区三区在线高清| 99久久久精品视频| 暖暖在线中文免费日本| 亚洲高清一区二区三区| 成人一区二区免费视频| 成年女人在线看片| 黑人狂躁日本妞一区二区三区 | 激情无码人妻又粗又大| 999成人网| 欧美日韩999| 国产无精乱码一区二区三区| 99视频一区| 国产精品精品视频| 国产探花精品一区二区| 成人一区二区视频| 欧美日韩精品免费观看| av在线女优影院| 亚洲三级在线看| 免费 成 人 黄 色| 欧美福利在线播放| 欧美日韩国产大片| 日本人添下边视频免费| 九九久久婷婷| 久久精品国产亚洲| 国偷自拍第113页| 蜜桃av一区二区三区电影| 91香蕉亚洲精品| 水中色av综合| 国产欧美一区二区在线| 无码人妻aⅴ一区二区三区日本| 女同毛片一区二区三区| 白白在线精品| 精品无人国产偷自产在线| 精品人体无码一区二区三区| 91av精品| 欧亚精品中文字幕| 国产乱码一区二区| 久久综合av免费| 老司机av福利| 伊伊综合在线| 日韩欧美一级片| 亚洲一区二区自偷自拍| 欧美午夜一区| 国产精品久久综合av爱欲tv| 亚洲免费黄色片| 国产精品美女久久久久aⅴ国产馆| 欧美中日韩在线| 成人精品高清在线视频| 亚洲精品久久久一区二区三区| 久操视频在线观看免费| 亚洲人成人一区二区三区| 国产精品免费网站| 午夜福利理论片在线观看| 国产精品久久久久久久岛一牛影视| 人妻av中文系列| 亚洲综合视频| 一区二区欧美久久| 精品国产免费观看| 国产suv精品一区二区883| 亚洲精品成人久久久998| 美女高潮在线观看| 日韩欧美中文字幕公布| 欧美性生给视频| 日韩电影一二三区| 精品欧美日韩在线| 牛牛在线精品视频| 91精品国产美女浴室洗澡无遮挡| 国产精品天天干| 久久99伊人| 久久这里精品国产99丫e6| 丰乳肥臀在线| 91精品国产乱| 战狼4完整免费观看在线播放版| 免费视频一区| 久久久久久欧美精品色一二三四 | 国产精品美女久久福利网站| 成人久久久久久久久| 日本亚洲不卡| 97超碰蝌蚪网人人做人人爽| 日韩一级中文字幕| 婷婷开心久久网| 国产麻豆剧传媒精品国产| 你懂的视频一区二区| 成人欧美一区二区三区在线湿哒哒 | 色女孩综合网| 91九色综合| 国产一区二区三区在线观看网站| 国产视频91在线| av亚洲精华国产精华精华| 国产精品又粗又长| 免费福利视频一区| 51视频国产精品一区二区| 深夜福利视频在线观看| 欧美视频在线观看 亚洲欧| 欧美高清性xxxx| 久久久久欧美精品| 日韩欧美一区二区在线观看 | 99国产视频| 视频在线观看入口黄最新永久免费国产 | 亚洲午夜在线播放| 欧美国产精品v| 欧美激情第3页| 亚洲精品91| 99视频网站| 色在线免费观看| 亚洲人成网在线播放| 亚洲第一区av| 一区二区三区高清在线| 亚洲天堂美女视频| 玖玖国产精品视频| 伊人久久大香线蕉午夜av| 激情五月综合婷婷| 亚洲18私人小影院| 电影在线高清| 日韩亚洲电影在线| 黄色片免费观看视频| 亚洲国产精品av| 国产xxxxhd| 国产欧美精品久久| 亚洲精品在线免费看| 色妞ww精品视频7777| 91精品国产精品| av黄色在线观看| 日韩欧美一区二区在线视频| 日韩一区二区视频在线| 国产精品久久久一本精品 | 国产精品国产自产拍高清av王其| 亚洲 国产 图片| 亚洲福利久久| 亚洲a∨一区二区三区| 在线综合色站| 国产精品国产福利国产秒拍 | 99视频在线观看视频| 精品9999| 在线观看日韩片| 任我爽精品视频在线播放| 成人免费观看a| 午夜欧美激情| 欧美成人激情视频| 黄色在线小视频| 亚洲精品一区二区三区福利| 日韩国产成人在线| 亚洲成在人线在线播放| 熟女少妇a性色生活片毛片| www.亚洲国产| 亚洲自拍第三页| 日韩va亚洲va欧美va久久| 久久亚洲a v| 色综合天天爱| 欧美日韩免费观看一区| 成人偷拍自拍| 91网站免费看| 成人精品动漫| 国产不卡视频在线| а√天堂中文在线资源8| 久久久国产一区| 草碰在线视频| 亚洲色图第三页| 深爱五月激情五月| 日韩免费一区二区三区在线播放| 中文字幕一区二区三区人妻四季| 欧美日韩亚洲激情| 精品一级少妇久久久久久久| 亚洲欧美在线另类| 国产黄色大片免费看| 91网站最新网址| 国产又粗又长又爽| 成人午夜在线视频| 人妻精油按摩bd高清中文字幕| 美女网站一区二区| 黄色一级免费大片| 性8sex亚洲区入口| 日本wwww视频| av成人国产| 人妻av中文系列| 亚洲国产高清一区| 奇米影视亚洲色图| 亚洲激情偷拍| 欧美视频在线免费播放| 亚洲国产精品第一区二区三区| 警花观音坐莲激情销魂小说| 香蕉精品视频在线观看| 一区精品在线| 综合在线视频| 91视频成人免费| 亚洲色图网站| 韩国无码av片在线观看网站| 欧美日本二区| 欧美乱大交xxxxx潮喷l头像| 日韩午夜激情| 国产超级av在线| 久久这里只有| 日本人视频jizz页码69| 久久国产精品99久久久久久老狼| 99sesese| 国产福利精品导航| 日韩成人av一区二区| 99国产麻豆精品| 久久只有这里有精品| 国产欧美一二三区| 欧日韩不卡视频| 亚洲美女偷拍久久| 亚洲国产成人精品激情在线| 红桃视频成人在线观看| 天堂网中文字幕| 欧美日韩视频在线一区二区 | 亚洲精品久久久久久下一站| 欧美孕妇性xxxⅹ精品hd| 亚洲性生活视频在线观看| 日本不卡三区| 色综合久久久888| 人人草在线视频| 国产免费一区视频观看免费 | 国产精品一二三四区| 欧美性生交xxxxx| 久久久国产一区二区三区四区小说| 纪美影视在线观看电视版使用方法| 国产精品理论在线观看| 黄色小视频在线免费看| 色狠狠综合天天综合综合| 亚洲视频久久久| 精品播放一区二区| 成人av毛片| 欧美国产日本在线| 91精品xxx在线观看| 91午夜理伦私人影院| 亚洲品质自拍| 亚洲五码在线观看视频| 国产精品色网| 91在线第一页| 久久影音资源网| 朝桐光av在线| 日韩欧美在线中文字幕| 国产一区二区视频免费观看| 亚洲精品国产精品国产自| 欧美黑人激情| 91成人在线观看国产| 国产中文欧美日韩在线| 免费成人看片网址| 欧美一区影院| 校园春色 亚洲色图| 北条麻妃一区二区三区| 亚洲女同二女同志奶水| 欧美日韩一区二区在线播放| 99精品视频免费看| 国产午夜精品免费一区二区三区| 国语对白在线刺激| 91香蕉亚洲精品| 区一区二视频| 日本在线观看a| 成人激情免费电影网址| 美女视频久久久| 一本大道久久a久久综合| 风流老熟女一区二区三区| 久久久国产一区二区三区| 成人免费一区| 欧美在线视频二区| 国产日韩欧美一区| 日本一区二区免费视频| 国产精品超碰97尤物18| 久久久久久无码精品大片| 亚洲黄色成人网| 国产乱码在线| 99久久自偷自偷国产精品不卡| 91精品综合| 天天操天天干天天做| 欧美国产欧美综合| 中文天堂在线资源| 国产一区二区av| 456成人影院在线观看| 久久青青草原| 在线综合欧美| 亚洲av成人无码一二三在线观看| 亚洲激情网站免费观看| 国产三级漂亮女教师| 久久精品国产亚洲| 亚洲国产天堂| 国产日韩欧美大片| 国产曰批免费观看久久久| 成年人二级毛片| 欧美精品一二三区| 国产激情小视频在线| 91在线中文字幕| 国产精品x453.com| 美女被艹视频网站| 亚洲精品国产a| 亚洲精品久久久久avwww潮水| 久久99久久99精品免观看粉嫩 | 欧美一二区视频| av网址在线看| 91亚洲精品久久久| 牛牛国产精品| 国产亚洲精品成人a| 亚洲va欧美va人人爽午夜| 色婷婷av一区二区三| 97涩涩爰在线观看亚洲| 台湾亚洲精品一区二区tv| 男人操女人免费软件| 国产亚洲女人久久久久毛片| 久草热在线观看| 精品国产一区av| 欧美经典一区| 蜜臀av无码一区二区三区| 91视频免费看| 一级片一区二区三区| 欧美成人h版在线观看| 动漫视频在线一区| 亚洲中文字幕久久精品无码喷水| 欧美激情自拍偷拍| 国产偷拍一区二区| 久久久免费av| 精品午夜久久| 久久精品无码一区二区三区毛片| 亚洲一区免费视频| 手机在线不卡av| 国产精品mp4| 中文乱码免费一区二区三区下载| 亚洲av无码专区在线播放中文| 欧美性xxxx极品hd满灌| 日韩中文在线观看| 免费日韩成人| 和岳每晚弄的高潮嗷嗷叫视频| 久久午夜老司机| 夜夜嗨av禁果av粉嫩avhd| 日韩中文字幕网址| 国产在线播放精品| 亚洲老女人av| 午夜免费久久看| 91美女视频在线| 好吊妞www.84com只有这里才有精品| 日本亚洲视频在线| www.xxxx日本| 亚洲免费精彩视频| 久久在线观看| 男人日女人逼逼| 亚洲视频免费在线| 成人在线二区| 精品国产乱码久久久久久久软件| 精品亚洲国产成人av制服丝袜|