Parcel CSS,來自Parcel的創造者Devon Govett的最新力作,是一個用Rust編寫的CSS解析器、轉換器和壓縮器。這為CSS處理領域帶來了一股清新的活力。
幾週前,我曾設想一個類似於esbuild
的CSS工具: cssbuild
。它能處理導入、進行打包(目前通常依賴Sass),並以極高的速度運行。或許它會基於插件,並兼容PostCSS API,以便現有PostCSS插件能夠在其上運行。它還可以生成Source Map並進行代碼修改,甚至可能運行Sass。這樣的工具能夠像esbuild
一樣激發CSS生態系統的活力。
Parcel CSS雖然與我的設想接近,但目前似乎並不具備打包功能(至少不是獨立的)。我猜想這是因為需要為此發明一種新的語法。 Sass在使用@import
時的歧義性(與原生CSS相同)或許是其教訓,我不怪任何人不想重蹈覆轍。這確實是一個棘手的問題,因為發明語法會將它歸入不同的工具類別。但我認為這是值得的,因為將CSS分解成更小的文件並在開發中進行打包是一種常見的做法,而無需完全依賴Parcel(它可以進行打包)。
那麼,為什麼要使用Parcel CSS處理CSS呢?根據文檔,原因如下:
(最初,我以為它利用了其他工具來完成這些任務,因為像Autoprefixer和cssnano這樣的工具出現在項目的package.json
文件中。但Devon的評論證實,Parcel CSS是這些工具的替代品,它並不依賴它們。)
還有一個殺手級特性!我認為Parcel CSS最強大的功能是“語法降低”(syntax lowering),這意味著您可以使用未來的CSS特性(例如嵌套),然後將其處理成瀏覽器可以理解的代碼,就像Babel處理JavaScript一樣。這與postcss-preset-env的精神類似。
而且,它速度極快:
最大的問題是:如果Parcel CSS成為首選的CSS解析器,我們會得到插件嗎?如果我們得到插件,它會像PostCSS插件一樣成為一個強大的生態系統嗎?
以上是包裹CSS:一個新的CSS解析器,變壓器和小型,新的CSS解析器的詳細內容。更多資訊請關注PHP中文網其他相關文章!