27

次のようなケースがあります: 開発中 (たとえば js をデバッグするため) に圧縮されていない js/css ファイルを使用したいのですが、本番環境ではそのファイルの縮小版に自動的に切り替えたいと考えています。

いくつかの簡単な解決策は、テンプレートに入れることです:

<script src="some_js.{% if not debug %}min.{% endif %}js"....

ただし、これには、そのようなファイルが存在することを手動で提供し、元のファイルの変更後にミニファクションを手動で実行する必要があります。

プロジェクトでこれをどのように達成しますか? これのためのツールはありますか?

4

6 に答える 6

20

django-compressを試しましたか?

Django で利用可能なアセット マネージャーのかなり完全なリストについては、http://djangopackages.com/grids/g/asset-managers/を参照してください。

すでに django-compress を使用している場合は、多くの新機能を備えた、適切に管理されたフォークである django-pipeline へのアップグレードを検討する必要があります。django-compress を使用しているすべての人に、代わりに django-pipeline に切り替えることをお勧めします: * django-pipeline ドキュメント

于 2010-06-17T14:18:29.817 に答える
19

Django-compressはもう維持されていません。代わりにhttps://github.com/cyberdelia/django-pipelineを試してください。

于 2011-12-07T23:25:05.770 に答える
8

私はウェブアセットを使用してきましたが、これまでのところ非常に満足しています。私が本当に気に入っているのは、プロジェクト構成ではなく、テンプレート内で CSS および JS ファイルを定義できることです。

ドキュメントはhttp://elsdoerfer.name/docs/webassets/にあります。

于 2010-06-18T10:56:32.787 に答える
0

このMakefileは、JSファイルとCSSファイルを縮小して連結するために作成しました。YUICompressorJARに依存します。ただし、ファイルを更新した後も、実行する必要がmakeあります。それでも、サーバーの起動時やリロード時に実行したり、SCMにコミットフックを設定したりできます。

もちろん、それでも必要ですが{% if not debug %}、IMOに支払うのは少額です。

簡単な使用法を示す:

$ make
[css] static/css/first.css
[css] static/css/second.css
[css] static/css/third.css
[css] static/css/and_so_on.css
[tag] @import url("static/css/all.css");
[js] static/js/first.js
[js] static/js/second.js
[js] static/js/third.js
[js] static/js/and_so_on.js
[tag] <script type="text/javascript" src="static/js/all.js"></script>
Done.
于 2010-07-31T20:31:05.517 に答える
-1

ディレクトリの変更を監視し、JS を自動ミニファイし、SASS/SCSS を自動コンパイルし、コマンド ライン操作を実行するなどのオープンソース プロジェクトをリリースしました。

http://devWatchr.com/でチェックしてください。

開発中にシステムを使用pythonして実行されます。pyinotify

于 2013-07-26T20:58:17.870 に答える