目前爲止我見過的最佳選擇是WebAssets。
從文檔: webassets是管理Web應用程序的 資產的一般,依賴獨立的庫。它可以合併和壓縮您的CSS 和JavaScript文件,支持多種不同的過濾器,支持使用編輯器如CoffeeScript或Sass。
可以在獨立模式與龍捲風使用它(見specific documentation)。
設定很容易和很簡單:
from webassets import Environment
static_directory = "../static"
output_directory = "/static"
my_env = Environment(static_directory, output_directory)
當然,你可以自定義它好得多。其餘的在文檔中有很好的解釋。
主要特點:
- 易於集成
- 可以壓縮靜態文件提前(命令行工具)
- 可以壓縮在飛行
- 靜態文件支持大多數縮小文件/壓縮庫(JS,CSS)
- 在瀏覽器內部支持LESS/SASS編譯
- 支持JS模板壓縮在瀏覽器內(手把...)
- 支持CSS精靈映射一個什麼樣的模板(這裏的Jinja2)貌似正確配置後
例子:
# css
{% assets filters="cssmin", output="css/compiled-layout.css",
"css/custom.css",
"css/bootstrap-datepicker.css",
"css/typeahead.css" %}
<link rel="stylesheet" type="text/css" href="{{ ASSET_URL }}">
{% endassets %}
# js
{% assets filters="jsmin", output="js/lib/compiled-libs.js",
"js/lib/jquery-2.1.1.min.js",
"js/lib/jquery-ui.min.js",
"js/lib/bootstrap.min.js",
"js/lib/bootstrap-datepicker.js",
"js/lib/d3.min.js",
"js/lib/typeahead.bundle.min.js",
"js/lib/moment.min.js",
"js/lib/handlebars-v2.0.0.js",
"js/global.js" %}
<script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %}
我一直在使用與Flask綁定一年的WebAsset,沒有麻煩,它非常可靠,加上維護良好:已經存在好幾年了,last commit to date was yesterday。
非常感謝!由於缺少文檔,配置有點棘手,但它起作用。 – alecxe 2013-04-27 13:02:06