有没有用于将多个CSS和JS文件打包和压缩成一个文件的库?

7
根据O'Reilly的高性能网站(第15-16页)所述,为了提高性能,建议尽可能减少HTTP请求。因此,是否有一个库可以将多个JS文件合并成一个文件,并且还有一个库可以为CSS执行此操作?
对于JavaScript,我现在至少加载了4个不同的库,jQuery 1.6.x,一些jQuery插件和一个应用程序JavaScript文件用于应用程序逻辑。我还有2个CSS文件,Bootstrap和我的应用程序的CSS文件。
有工具可以方便这样做吗?最好有一个工具,我可以从Python或Bash(我在Linux上)中使用来“编译”和压缩多个CSS样式表。
(如果这是Django的附加组件,那就更好了[即manage.py packify static/bootstrap.min.css static/application.css ... ])
5个回答

7
您需要的是一个CSS和JavaScript管道。现在,框架提供这种工具已经成为标准。例如,Rails 3.1内置了自己的资产管道。
它不仅会将您的CSS和JavaScript合并成一个包,还会进行压缩,以进一步提高性能。
幸运的是,Django也有自己的插件可供使用。 https://github.com/cyberdelia/django-pipeline

有没有将LESS与CSS编译结合起来的方法? - Naftuli Kay
1
是的,看起来可以。它支持LESS和SASS编译。请参考http://readthedocs.org/docs/django-pipeline/en/1.1.18/compilers.html。 - JavierIEH
1
webassets集成了一个less编译器,详见https://dev59.com/M1zUa4cB1Zd3GeqP0CA4#7730436。 - markus
除了webassets之外,还有许多工具可供使用。这里有一些选择。 - Michael Mior

3
当然有这样的工具!它叫做webassets。而且它也可以很好地与Django集成
webassets功能包括:
  • CSS和JS的压缩
  • 将LESS转换为CSS
  • 将SASS转换为CSS
  • compass
等等。

2
有多种方法。JavierIEH已经提到了一个很棒的插件。但是你可以使用PHP或任何其他服务器语言轻松地自己构建一个。
但是,如果你从Google Libraries API中加载JQuery及其插件,你将获得更多的收益。它提供许多库的压缩版本。
优势在于它不会使用你的服务器。浏览器对同一服务器只会进行有限数量的同时连接,因此它允许你的用户同时加载JQuery和你自己的javascript。
而且,由于许多站点使用来自Google的库,这些文件可能已经存在于你的访问者的浏览器缓存中,使加载速度更快。

0
检查这个Python脚本。它没有采用框架构建,可以轻松集成。

http://github.com/hkasera/minify

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


0
如果您可以使用PHP工具,可以查看CSS-JS-Booster,它比简单的压缩包含了一些更多的技巧。例如,将在CSS中引用的小图像嵌入到CSS中(data-uri/mhtml)等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接