!
也想出现在这里? 联系我们
广告位

巧妙使用uncss工具去除页面无用的CSS代码

代码的角度讲,你知道什么是比往网站或应用里添加功能更好的事情吗?删除那些没用的东西。也许是一些代码、图片、或相关依赖等,就像扔掉家中储存柜里没用的产生异味的存货。我经常用 ImageOptim 来优化我的图片的体积,这既能提供页面加载速度,又能减少带宽流量。然而,你知道有什么工具能找到页面中样式文件里无用的 CSS 吗?之前我介绍过一个用 JavaScript 找到无用 CSS 的方法,但事实上,我们并不想知道哪些 CSS 规则是无用的,我们想要的是一个没有多余 CSS 的干净的样式文件。所以,这个叫做 uncss 的 NodeJS 工具就是我们要找的了。下面我们来看看 uncss 是如何使用的!

基本的用法是直接在命令行窗口里输入 uncss 命令:

  1. uncss http://www.webhek.com > styles.css

执行输出的结果就是一个你想要的、剔除了所有无用的 CSS 规则的完整的样式表文件。那 uncss 究竟是如何做到这些的呢?让我来一步步告诉你:

首先 PhantomJS 会加载整个 HTML 页面,然后执行 JavaScript。
接着从 HTML 页面里提取页面中所有的 CSS 样式。
然后用 css-parse 分析并连接所有的样式规则。
用 document.querySelector 过滤出哪些 CSS 选择器是没有用到的。
最后用剩下的 CSS 规则生成输出文件

跟其它 NodeJS 工具一样,它里面提供了很多 JavaScriptAPI,下面是一个使用它的 API 的例子:

  1. var uncss = require('uncss');
  2. var files = ['my', 'array', 'of', 'HTML', 'files'],
  3. options = {
  4. ignore : ['#added_at_runtime', /test\-[0-9]+/],
  5. media : ['(min-width: 700px) handheld and (orientation: landscape)'],
  6. csspath : '../public/css/',
  7. raw : 'h1 { color: green }',
  8. stylesheets : ['lib/bootstrap/dist/css/bootstrap.css', 'src/public/css/main.css'],
  9. ignoreSheets : [/fonts.googleapis/],
  10. urls : ['http://localhost:3000/mypage', '...'], // Deprecated
  11. timeout : 1000,
  12. htmlroot : 'public'
  13. };
  14. uncss(files, options, function (error, output) {
  15. console.log(output);
  16. });
  17. /* Look Ma, no options! */
  18. uncss(files, function (error, output) {
  19. console.log(output);
  20. });
  21. /* Specifying raw HTML */
  22. var raw_html = '...';
  23. uncss(raw_html, options, function (error, output) {
  24. console.log(output);
  25. });

一个运行维护多年的网站或 Web 应用必定会产生很多无用的代码,这是毫无例外的。多余的代码不仅给 WEB 程序员带来维护的负担,也给使用者造成负面效应。请试一下 uncss,真的非常简单,完全自动的帮你清除无用的 CSS 代码!

给TA打赏
共{{data.count}}人
人已打赏
前端学习

使用CSS绝对定位实现块状元素自适应居中

2024-8-23 15:02:35

前端学习

jQuery 直接读取网站数据库数据并做判断的方法

2024-8-30 14:16:27

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索