简单介绍CSS中的网址工具

2019-09-07 郑州网站建设  

有许多原因使得你需要在CSS代码中系统性的替代网址:将其转换为数据URI、将其指向一个CDN、将其文件名替换为自动生成的文件名,等等。这个工具能够帮你从给定的CSS代码中将网址解析出来,并允许你将其替换为你选择的任意值。替换后的CSS代码与源代码完全相同,除了网址已经根据你的选择进行了替换。

这个库包含诸多工具,能够帮助你操作和更改CSS 网址。

CSS 网址重写器(Rewriter)

CSS 网址重写器使用一个CSS分词器来安全的找到所有的CSS 网址,这使得所有的改动都是完全安全的,因为它不依赖于正则表达式从CSS中提取网址。

使用办法
 

CSS Code复制内容到剪贴板

var 网址Rewriter = require("cssurl").网址Rewriter;   

    

var rewriter = new 网址Rewriter(function(url) {   

    // automatically append a query string with a unique value to bust caches   

    return url + "?v=" + Date.now();   

});   

    

var result = rewriter.rewrite(cssCode);   

当CSS 网址重写器遍历CSS代码时,它会调用传入CSS网址Rewriter构造器的函数,并传给它找到的每个网址。url变量是指CSS代码中找到的除去了任何引号和前后空格的网址(不包含url())。之后,你可以检查网址,随心所欲地修改它,以及在你需要使用的地方返回它的值。

限制

CSS 网址重写器只会替换被表示为网址标记的网址,也就是说,它必须是以url(foo.css)的形式而非”foo.css”的形式存在,尽管后者在部分CSS里是允许的。

CSS 网址重写流(Rewrite Stream)

CSS 网址重写流使用流内部的网址重写器,因此你可以很容易将代码取出或置入。

使用办法
 

CSS Code复制内容到剪贴板

var 网址RewriteStream = require("cssurl").网址RewriteStream;   

    

fs.createReadStream("my.css").pipe(new 网址RewriteStream(function(url) {   

    // automatically append a query string with a unique value to bust caches   

    return url + "?v=" + Date.now();   

})).pipe(fs.createWriteStream("my-new.css"));    

CSS 网址翻译器(Translator)

CSS 网址翻译器是一个工具,能够对不同CSS文件中的相关CSS 网址进行翻译。有时候你可能要移动一个CSS文件,比如说从css/sprites/foo.css到css/sprites.css,当你做这件事时,CSS文件中任何相关的网址都不再准确了。CSS 网址翻译器,与CSS 网址重写器结合使用,通过自动计算出新的路径使得我们可以轻松地进行修改。翻译器也足够聪明,不会翻译任何不相关的网址。

使用办法
 

CSS Code复制内容到剪贴板

var 网址Translator = require("cssurl").网址Translator;   

    

var translator = new 网址Translator();   

var result = translator.translate("../../img/foo.png""css/sprites/foo.css""css/sprites.css");   

    

console.日志(result);    // "../img/foo.png"  

开发

要运行测试,请克隆以下仓库,然后执行:
 
 

复制代码

代码如下:

$ npm i
$ npm test

版权和许可证为BSD3


河南郑州做网站首选天择文化,我们专注郑州网站建设网站设计网站制作与开发,是中原地区专业的郑州网络公司,多年来我们一直努力,服务客户数百家,欢迎您的咨询。
本文链接:郑州网络公司http://tzchb.ieyo.com/dede/1119.html转载请标明出处,谢谢合作!
标签:
  • е
  • css
  • 使得
  • 需要
  • 许多
  • 原因
  • URL