0

app.html多くのコーヒー スクリプト (58 ファイル) を含むページがあります。django-compressor を使用してコンパイルします。

{% compress js %}
<script type="text/coffeescript" src="/static/scripts/commons/commons.coffee"></script>
<script type="text/coffeescript" src="/static/scripts/app/model/Storage.coffee"></script>
<script type="text/coffeescript" src="/static/scripts/app/model/Unit.coffee"></script>
....
{% endcompress %}

すべてがコンパイルされて動作しますが、ページが応答するまでに 15 秒かかります。最初のリクエスト(コーヒーをコンパイルする必要があります)は問題ないと思いますが、2番目、3番目、およびそれ以降のすべてのリクエストでは同じ15秒かかります。

出力は常に同じです。

<script type="text/javascript" src="/static/CACHE/js/commons.33f0b9628e28.js"></script>
<script type="text/javascript" src="/static/CACHE/js/Storage.924e88456824.js"></script>
<script type="text/javascript" src="/static/CACHE/js/Unit.0fdebfecb96b.js"></script>
....

ファイルを変更するのではなく、ページを更新するだけです。

django-compressor は、リクエストごとにすべてのファイルを再コンパイルするようです (ただし、コンパイルされた js ファイルの名前は変更されません。これは奇妙です)。

django-compressor を高速化する方法はありますか?

PS

  • 私はdjangoをローカルで実行していmanage.py runserverます。
  • DEBUG = True(私の DEBUG オプションは settings.py で True に設定されています)
4

2 に答える 2

2

django-compressor には、プリコンパイラをキャッシュしてコーヒーのコンパイルを高速化し、変更されたファイルのみをコンパイルするシステムが追加されました。これにより、開発の応答時間が短縮されます。

https://github.com/django-compressor/django-compressor/pull/650

コンプレッサー設定に追加するだけです:

COMPRESS_CACHEABLE_PRECOMPILERS = (
    'text/coffeescript',
)
于 2016-03-03T10:29:18.447 に答える