2018-11-16Chrome DevTools frontend

Chrome DevTools frontend

The client-side of the Chrome DevTools, including all JS & CSS to run the DevTools webapp.

It is available on NPM as the chrome-devtools-frontend package. It's not currently available via CJS or ES2015 modules, so consuming this package in other tools may require some effort.

Package versioning

The version number of the npm package (e.g. 1.0.373466) refers to the Chromium commit position of latest frontend git commit. It's incremented with every Chromium commit, however the package is updated roughly daily.

Source code

The frontend is available through a git subtree mirror on chromium.googlesource.com, with a regularly updating GitHub mirror at github.com/ChromeDevTools/devtools-frontend. The codebase's true location is in third_party/WebKit/Source/devtools/ in Chromium's git repo.

Getting Started

  1. Clone the repo
  2. Go to repo root and run: npm start
    • This launches Chrome Canary and starts the dev server with 1 command
  3. Go to http://localhost:9222#custom=true&experiments=true

Power user tips:

You can customize the port for the dev server: e.g. PORT=8888 npm start.

You can also launch chrome and start the server separately:

  • npm run chrome
  • npm run server

When you start Chrome separately, you can pass extra args to Chrome:

npm run chrome -- https://news.ycombinator.com

(e.g. this launches Hacker News on startup)

If you want to reset your development profile for Chrome, pass in "--reset-profile":

npm start -- --reset-profile

OR

npm run chrome -- --reset-profile

Hacking

Useful Commands

Simpler npm commands w/ dtrun

If you want to run these npm commands anywhere in the chromium repo (e.g. in chromium/src), you'll want to setup our dtrun CLI helper.

One-time setup:

npm run setup-dtrun

Now, you can use any of the following commands by simply doing: dtrun test.

In addition, you no longer need to pass double dashes (e.g. --) before you pass in the flags. So you can do: dtrun test -d inspector/test.html.

npm run format

Formats your code using clang-format

npm run format-py

Formats your Python code using yapf

Note: Yapf is a command line tool. You will have to install this manually, either from PyPi through pip install yapf or if you want to enable multiprocessing in Python 2.7, pip install futures

npm test

Builds devtools and runs all inspector/devtools layout tests.

Note: If you're using a full chromium checkout and compiled content shell in out/Release, then npm test uses that. Otherwise, with only a front-end checkout (i.e. cloning from GitHub), then npm test will fetch a previously compiled content shell from the cloud (and cache it for future test runs).

npm test basics

# run specific tests
npm test -- inspector/sources inspector/console

# debug a specific test. Any one of:
npm run debug-test inspector/cookie-resource-match.html
npm test -- --debug-devtools inspector/cookie-resource-match.html 
npm test -- -d inspector/cookie-resource-match.html 

# pass in additional flags to the test harness
npm test -- -f --child-processes=16

# ...for example, use a higher test timeout
npm test -- --time-out-ms=6000000 <test_path>

Tip: Learn about the test harness flags

--fetch-content-shell

# If you're using a full chromium checkout and have a compiled content shell, 
# this will fetch a pre-compiled content shell. This is useful if you 
# haven't compiled your content shell recently
npm test -- --fetch-content-shell

--target=SUB_DIRECTORY_NAME

# If you're using a build sub-directory that's not out/Release, 
# such as out/Default, then use --target=SUB_DIRECTORY_NAME
npm test -- --target=Default

Development

Getting in touch

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,857評論 0 10
  • 晨,靜坐書齋寫隸書對句一幅 風(fēng)流不在談鋒盛 袖手無言味最長 原創(chuàng) 如歌寫于2018年10月31日
    如歌7閱讀 357評論 0 5
  • 什么是優(yōu)秀代碼 優(yōu)秀的代碼就越應(yīng)該讓人容易讀懂。即邏輯清晰、簡單,使用的方法是大家常用的、類似官方文檔的。 如何寫...
    daybreak_閱讀 525評論 0 0
  • 夢想,總是那么遙不可及,人生,總是那么磕磕絆絆,我們在自己的人生里摸爬滾打,我們?yōu)榱藟魥^不顧身,我們?yōu)榱死硐雰A盡一...
    夜雨不等式閱讀 1,218評論 0 2

友情鏈接更多精彩內(nèi)容