是否有用于打包和缩小多个CSS和JS文件到每个文件的库?

时间:2011-10-11 17:57:52

标签: javascript python css minify

根据O'Reilly的High Performance Web Sites(第15-16页),强烈建议尽可能少地提出高性能的HTTP请求。那么,是否有一个用于将多个JS文件合并到一个文件中的库,以及一个用于CSS的库?

对于JavaScript,我现在至少有4个不同的库,jQuery 1.6.x,一些jQuery插件和一个用于应用程序逻辑的应用程序JavaScript文件。我还有2个CSS文件,Bootstrap和我的应用程序的CSS文件。

是否有工具来促进这一点?有一个我可以从Python或Bash(我在Linux上)使用的工具来“编译”和缩小多个CSS样式表是很好的。

(如果这可以作为Django插件,甚至更好[ie manage.py packify static/bootstrap.min.css static/application.css ...])

5 个答案:

答案 0 :(得分:7)

您正在寻找的是一个css和javascript管道。它成为提供此类工具的框架的标准。例如,Rails 3.1内置了自己的资产管道。

它不仅会将你的css和javascripts合并到一个包中,而且还会压缩它们以进一步提升性能。

幸运的是,django也有自己的插件

https://github.com/cyberdelia/django-pipeline

答案 1 :(得分:3)

当然有这样的工具!它被称为webassets。而且integrates fine with Django也是。

webassets功能

  • CSS和JS的缩小(压缩)
  • 少于CSS
  • SASS to CSS
  • 罗盘

答案 2 :(得分:2)

有各种方法。 JavierIEH已经提到了一个很棒的插件。但您可以使用PHP或任何其他服务器语言轻松构建一个。

但如果你从Google Libraries API加载JQuery及其插件,你将获得更多。它提供了许多库的缩小版本。

优点是它不会使用您的服务器。浏览器只能与同一服务器建立有限数量的同时连接,因此它允许用户同时加载JQuery和您自己的javascript。

由于许多网站都使用Google提供的库,因此这些文件可能已存在于访问者的浏览器缓存中,从而加快了加载速度。

答案 3 :(得分:0)

如果您可以使用PHP工具,请查看CSS-JS-Booster,其中包含的内容比简单缩小更多。例如,将CSS中引用的小图像嵌入到CSS(data-uri / mhtml)等中。

答案 4 :(得分:0)

检查这个python脚本。它不是基于框架构建的,可以轻松集成。

http://github.com/hkasera/minify

它也缩小了js以及css文件。它存储详细的日志文件,说明错误和警告。 希望它可能有所帮助!