有没有类似于Ruby的Juicer/Sprockets/bundle_fu的Python库/包?
我在找一个Python库,可以把JS和CSS文件压缩和合并在一起...
3 个回答
0
看看这个简单的Python脚本。
http://github.com/hkasera/minify
它可以压缩JavaScript和CSS文件。它还会保存详细的日志文件,记录在处理过程中出现的错误和警告。
希望这对你有帮助!
3
如果你在使用Django框架,可以试试这个叫做 django-compress 的工具。
5
正如anurag所说,Django用户可以使用django-compress这个工具。
如果你在使用Pylons或TurboGears 2.x,有两个实时处理的选项:
- MinificationWebHelpers(这是一个实时的工具,可以帮助压缩CSS和JS,并支持使用Beaker来缓存输出)
- Minimatic(这是MinificationWebHelpers的一个分支。有些用户非常喜欢这个工具,但根据MinificationWebHelpers的作者说,开发者们不愿意合作合并改动)
据我所知,Django和Pylons的实时选项只负责压缩和合并文件。它们不会解析JavaScript来实现任何导入或包含的指令。
如果你更喜欢批处理的方式,我想不出有什么专门用Python写的工具,但我看到其他Python开发者使用过以下选项:
- 写一个Python或shell脚本,运行像YUI Compressor(Java)这样的低级工具,或者jsmin.py,并处理那些它没有为你做的合并工作。(我有一个项目就是这样做的。虽然它不提供导入/包含指令,但能以最少的依赖完成工作。)
- RequireJS Optimize(这是一个用于JS/CSS打包的压缩和导入管理工具,使用Java编写。)
- Juicer与RequireJS一起使用(需要Ruby,并使用JavaDoc风格的导入声明,除了RequireJS的调用外,还可以选择性使用Java依赖(用于YUI Compressor))。
- Ender.js或Jam(这两个都是用Node.js写的)
如果纯Python的解决方案对你来说非常重要,我的建议是选择实时选项(这样在开发时使用paster --reload
会更方便),或者为setup.py或paster写一个命令,使用jsmin.py和cssmin来完成主要的工作。
注意:由于缺乏文档,setup.py的链接指向了我一篇博客的文章。
这个StackOverflow的回答也可能对你有帮助:Python脚本用于压缩CSS?