許多開發(fā)者使用 CSS 預(yù)處理器來產(chǎn)生 CSS 樣式表,比如 Sass, Less 或者 Stylus。因為 CSS 文件是生成的,直接修改 CSS 文件是沒有用的。
對于支持 CSS 源映射(source maps)的預(yù)處理器, DevTools 允許你在源面板中實時編輯預(yù)處理器的源文件,并且不需要離開 DevTools 或者刷新頁面就能查看結(jié)果。當(dāng)你審查生成的 CSS 文件提供的樣式元素時,元素面板會顯示一個鏈接到源文件的鏈接,而不是生成的 .css
文件。
http://wiki.jikexueyuan.com/project/chrome-devtools/images/sass-debugging.png" alt="sass-debugging" />
如果要跳轉(zhuǎn)到源文件:
Control
+ 鼠標(biāo)左鍵(或者在Mac上用 Command
+ 鼠標(biāo)左鍵)點擊 CSS 屬性名或者屬性值可以打開源文件并且跳轉(zhuǎn)到相應(yīng)的行。http://wiki.jikexueyuan.com/project/chrome-devtools/images/sass-sources.png" alt="sass-sources" />
當(dāng)你通過 DevTools 來保存對 CSS 預(yù)處理器做出的更改時,CSS 預(yù)處理器會重新生成 CSS 文件。然后 DevTools 會重新加載新生成的 CSS 文件。
在外部編輯器中做出的修改不會被 DevTools 偵測到,除非 Source 選項卡包含的相關(guān)源文件重新獲得了焦點。而且,手動編輯由 Sass/LESS/ 其他編譯器 產(chǎn)生的 CSS 文件將會中斷源映射的關(guān)聯(lián),直到重新加載頁面為止。
如果你正在使用 Workspaces(工作空間),你需要確認(rèn)產(chǎn)生的文件是否映射到了 Workspace 中。你可以在源面板右側(cè)的樹中來查看并驗證源自本地的 CSS。
使用 CSS 預(yù)處理器的時候有一些要求需要滿足:
Python SimpleHTTPServer
模塊默認(rèn)會提供這個文件頭。你可以像這樣啟動一個 web 服務(wù)來服務(wù)當(dāng)前目錄:python -m SimpleHTTPServer
默認(rèn)情況下,CSS 源映射是啟用的。你可以選擇是否要啟用自動重新加載生成的 CSS 文件模式。
如果想要啟用 CSS 源映射,重載 CSS 文件,請參照以下步驟:
要在 Chrome 中實時編輯 Sass 文件,你需要3.3以上的 Sass,因為只有這樣才支持源映射。
gem install sass
當(dāng) Sass 安裝好以后,開啟 Sass 編譯器來監(jiān)測你的 Sass 源文件的改變并為每個產(chǎn)生的 CSS 文件創(chuàng)建源映射文件,例如:
sass --watch --sourcemap sass/styles.scss:styles.css
DevTools 支持 Source Map Revision 3 proposal。該協(xié)議在幾個 CSS 預(yù)編譯器中實施(2014年8月更新):
對于每個生成的 CSS 文件,預(yù)處理器另外為編譯的 CSS 生成一個源映射文件(.map)。源映射是一個 JSON 格式的文件,它定義了每個生成的 CSS 聲明和在原文件中相應(yīng)行的映射。每個 CSS 文件的最后一行都會含有一個說明其源文件路徑的特別注釋。
/*# sourceMappingURL=<url> */
例如,給定一個名為 styles.css 的 CSS 文件:
$textSize: 26px;
$fontColor: red;
$bgColor: whitesmoke;
h2 {
font-size: $textSize;
color: $fontColor;
background: $bgColor;
}
Sass 會生成一個 styles.css 文件并且在后面添加源文件路徑映射的注釋:
h2 {
font-size: 26px;
color: red;
background-color: whitesmoke;
}
/*# sourceMappingURL=styles.css.map */
下面是關(guān)于源映射文件的例子:
{
"version": "3",
"mappings":"AAKA,EAAG;EACC,SAAS,EANF,IAAI;EAOX,KAAK"
"sources": ["sass/styles.scss"],
"file": "styles.css"
}
很多開發(fā)者會在使用 CSS 預(yù)處理器的過程中形成自己的工作流。有關(guān)教程和備用工作流的內(nèi)容請參照下面的文章:
注意:外部資源可能不是有關(guān)最新版 Chrome 的資料。
以上內(nèi)容適用于 CC-By 3.0 license