有許多原因使得你需要在CSS代碼中系統性的替代URL:將其轉換為數據URI、將其指向一個CDN、將其文件名替換為自動生成的文件名,等等。這個工具能夠幫你從給定的CSS代碼中將URL解析出來,並允許你將其替換為你選擇的任意值。替換後的CSS代碼與源代碼完全相同,除了URL已經根據你的選擇進行了替換。
這個庫包含諸多工具,能夠幫助你操作和更改CSS URL。
CSS URL重寫器(Rewriter)
CSS URL重寫器使用一個CSS分詞器來安全的找到所有的CSS URL,這使得所有的改動都是完全安全的,因為它不依賴於正則表達式從CSS中提取URL。
使用方法
當CSS URL重寫器遍歷CSS代碼時,它會調用傳入CSSURLRewriter構造器的函數,並傳給它找到的每個URL。url變量是指CSS代碼中找到的除去了任何引號和前後空格的URL(不包含url())。之後,你可以檢查URL,隨心所欲地修改它,以及在你需要使用的地方返回它的值。
限制
CSS URL重寫器只會替換被表示為URL標記的URL,也就是說,它必須是以url(foo.css)的形式而非”foo.css”的形式存在,盡管後者在部分CSS裡是允許的。
CSS URL重寫流(Rewrite Stream)
CSS URL重寫流使用流內部的URL重寫器,因此你可以很容易將代碼取出或置入。
使用方法
CSS URL翻譯器(Translator)
CSS URL翻譯器是一個工具,能夠對不同CSS文件中的相關CSS URL進行翻譯。有時候你可能要移動一個CSS文件,比如說從css/sprites/foo.css到css/sprites.css,當你做這件事時,CSS文件中任何相關的URL都不再准確了。CSS URL翻譯器,與CSS URL重寫器結合使用,通過自動計算出新的路徑使得我們可以輕松地進行修改。翻譯器也足夠聰明,不會翻譯任何不相關的URL。
使用方法
開發
要運行測試,請克隆以下倉庫,然後執行:
復制代碼代碼如下:
$ npm i
$ npm test
版權和許可證為BSD3