PostCSS 架構

PostCSS 架構的概觀。對於想要為核心做出貢獻或更深入了解此工具的人來說,這會很有用。

概觀

本節說明 PostCSS 背後的想法

在深入了解 PostCSS 的開發之前,讓我們簡要說明 PostCSS 是什麼,什麼不是。

PostCSS

工作流程

這是 PostCSS 整個工作流程的高階概觀

workflow

從上方的圖表中可以看到,PostCSS 架構相當簡單,但其中某些部分可能會被誤解。

你可以看到一個稱為剖析器的部分,此結構會在稍後詳細說明,現在只要把它想成一個可以理解你的 CSS 語法並建立其物件表示的結構即可。

話說回來,撰寫剖析器的方法有幾種。

讓我們想想為什麼第二種方式更適合我們的需求。

首先,因為字串轉換為符號的步驟比剖析步驟花費更多時間。我們在大型原始字串上執行操作並逐字元處理它,這就是為什麼在效能方面這是一個非常低效率的操作,我們應該只執行一次。

但從另一方面來看,符號轉換為 AST 在邏輯上更為複雜,因此透過這種分離,我們可以撰寫非常快速的符號化程式(但有時會產生難以閱讀的程式碼)和易於閱讀(但緩慢)的剖析器。

總而言之,拆分為兩個步驟可以提升效能和程式碼可讀性。

現在讓我們更仔細地檢視在 PostCSS 工作流程中扮演主要角色的結構。

核心結構

API 參考

可以在 這裡 找到更具描述性的 API 文件