14

django プロジェクトには、 django-compressorという素晴らしいツールがあります。compress次のように、テンプレート タグの下のすべての js または css ファイルを 1 つのキャッシュ ファイルに結合します。

{% load compress %}

{% compress css %}
<link rel="stylesheet" href="/static/css/one.css" type="text/css" charset="utf-8">
<style type="text/css">p { border:5px solid green;}</style>
<link rel="stylesheet" href="/static/css/two.css" type="text/css" charset="utf-8">
{% endcompress %}

竜巻プロジェクトにこのようなものがあるのだろうか?または、回避策/代替ソリューションはありますか?

このプロジェクトは github で見つけましたが、現在はメンテナンスされていません。

4

3 に答える 3

7

tornado_utilsを見てください。それはあなたが望むことをするはずです。特にtornado_static.pyを見てください。

tornado_static は、Tornado Web アプリケーションで静的リソースを表示するためのモジュールです。

積極的な HTTP キャッシングに適した URL のマージ、圧縮、および理想的な名前変更を行うことができます。

于 2013-04-26T11:29:07.180 に答える
3

これまでに見た中で最良のオプションはWebAssetsです。

ドキュメントから: webassets は、Web アプリケーションのアセットを管理するための、依存関係に依存しない一般的なライブラリです。CSS と JavaScript ファイルをマージして圧縮し、さまざまなフィルターをサポートし、CoffeeScript や Sass などのコンパイラーとの連携をサポートします。

トルネードを使用してスタンドアロン モードで使用できます (特定のドキュメントを参照してください)。

セットアップは簡単で、非常に簡単です。

from webassets import Environment
static_directory = "../static"
output_directory = "/static"
my_env = Environment(static_directory, output_directory)

もちろん、さらにカスタマイズすることもできます。残りはドキュメントでかなりよく説明されています。

主な特徴:

  • 簡単な統合
  • 静的ファイルの事前圧縮が可能(コマンドラインツール)
  • その場で静的ファイルを圧縮することが可能
  • ほとんどの縮小/圧縮ライブラリ (JS、CSS) をサポート
  • ブラウザ内での LESS/SASS コンパイルをサポート
  • ブラウザー内での JS テンプレートの圧縮をサポート (Handlebars...)
  • 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 に関連付けられた WebAssets を 1 年間問題なく使用してきました。完全に信頼性が高く、メンテナンスも行き届いています。数年間使用されており、最新のコミットは昨日でした。

于 2014-12-28T20:29:16.780 に答える
2

オープンソース プロジェクトを調べて理解した限りtornadoでは、「竜巻の世界」で静的ファイルの縮小と圧縮を行う標準的かつ標準的な方法はありません。

私が見たさまざまなオプションは次のとおりです。

最初の 2 つのオプションのみが竜巻固有です。他のツールは、Tornado テンプレート レンダリングと静的ファイル サービング メカニズムに手動で結び付ける必要があります。

于 2014-12-26T08:26:39.383 に答える