問題タブ [django-compressor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - django_compressorにcss/lessファイルを再コンパイルするように強制します
ユーザーが独自のカスタムcss/lessをdjangoアプリにアップロードできるようにします。
すべてのcss/lessファイルはdjango_compressorによって「オンザフライ」で圧縮されます。
アプリが最初にデプロイされると、すべてのcssファイルがcollect-static
ディレクトリに移動されます。
ユーザーがカスタムcssスタイルをアップロードすると、collect-static
ディレクトリ内の少ないファイルの1つが置き換えられます。
それに関する問題は、apacheがリロードされているときにのみ変更が表示されるため、新しいcssファイルがdjango-compressorによって生成されることです。
django-compressorにコンパイルおよびキャッシュされたファイルを再生成させる方法はありますか?sudo services apache2 reload
djangoアプリケーションレベルでをトリガーするのは気が進まないでしょう。
javascript - 圧縮時に JavaScript 文字列の連結が壊れる
最近、プロジェクトで Django Compressor を使用して、js と css を自動的に連結および縮小し、変更時にキャッシュを更新することにしました。
私が抱えている問題は、圧縮されていないときに機能するスクリプトがいくつかあることですが、コンプレッサーを実行すると壊れてしまいます。可能性を文字列連結に絞り込むことができました。特に HTML 文字列の連結。
例えば:
圧縮すると壊れます。構文エラーが発生します。
構文エラー: ありません。ステートメントの前に
しかし、これは機能します:
誰かが説明できますか:
- なぜそれが壊れるのですか?
- 圧縮されたときに機能するように、これをどのように記述すればよいですか?
ありがとう
編集:エラーがスローされている圧縮コードの一部を次に示します。
RegExp(term, g) の「g」でスローされています
これが機能することを発見しました:
それで、それを機能させるという私の問題の一部が解決されます。しかし、「なぜ」という疑問はまだ残っています。
プレイ中のもの:
- jQuery
- 口ひげ
- ジャンゴコンプレッサー(JSmin)
git - Django-compressor、git、プロダクション
Amazon s3 を使用して静的ファイルを保存し、django-compressor を使用して js および css ファイルを圧縮しますCOMPRESS_OFFLINE = True
。
実稼働サーバーにデプロイするには、まず を実行しますpython manage.py compress
。これにより、圧縮ファイルが Amazon s3 にアップロードされ、リポジトリに git push されます。実稼働サーバーで、このレポからプルすると、生成された css ファイルと js ファイルの間で常に同期の問題が発生します。
可能性を探ったところ、コンプレッサーが実際に圧縮ファイルの変更時刻を調べていることに気付きました。アプリの静的フォルダー (S3 ファイルではない) の静的ファイル間の変更日を確認すると、それらが異なることに気付きました。その理由は、git が変更されたファイルの変更日を変更したためだと思います。
どうすればこれを修正できますか?
ありがとう
django - 静的リソースにアクセスできません
Mezzanine、django-compressor、amazon-s3を使用しています。django-compressorを使用してcssファイルを圧縮します。WebサイトをHerokuにデプロイし、静的リソースを正常に保存しました。ただし、一定期間が経過すると、すべてのcssが失われます。以下は、amazon-s3からの通知です。
そして、これは設定の構成です:
この問題を解決するのを手伝ってください。根本的な原因がわかりません。どうもありがとう。
python - 本番環境での django 圧縮ファイルの提供
Django ソリューションを本番環境にデプロイする際に、圧縮およびコンパイルされた静的ファイルで問題が発生しました。静的ファイルの提供も処理する Nginx リバース プロキシで Django を実行しています。
一部のファイル (特に js ファイルと css ファイル) が見つかりません。これは、settings.py の次の設定によって圧縮が有効になっているために発生していることに気付きました。
では、本番環境にデプロイするためにプリコンパイルと圧縮をフリーズする最も正しい方法は何ですか? ありがとう
django - django-compressor +ファイルの圧縮を減らしますが、元のファイルにリンクします
少ないファイルを圧縮するために使用されるdjango-compressor 1.2を備えたdjango 1.4.2アプリを使用しています。
私のlessファイルはapp/static/css/home.lessにあります。static/CACHE/css/5208013a00a2.css の下に less ファイルを出力します
ローカルで実行している場合 (Debug=True、ファイルは django によって提供されます)、正しい応答が得られます。私のhtml(テンプレート)ファイルの次の出力:
展開で実行している場合 (Apache がファイルを提供する場合)、応答が悪いです。私のhtmlファイルの次の出力:
ファイルはstatic/CACHE/css/5208013a00a2.cssの下の展開で作成されるため、権限の問題はないと想定しています。ログに問題はありません。
settings.py からの設定の一部:
展開はファブリックを介して行われ、仮想環境の下にアプリが作成されます。
django - たくさんのキャッシュファイルを作成するdjangoコンプレッサー
サーバーはロードバランサーの背後にあり、何らかの理由でコンプレッサーはとに何万ものキャッシュファイルを作成しまし/static/CACHE/js/
た/static/CACHE/css/
私のsettings.pyの唯一の設定は次のとおりです。COMPRESS_ENABLED = True
CACHEファイルをクリーンアップするために欠落している設定はありますか?
django - django-compressor が構文エラーのある JavaScript を作成する
ちょっとした背景... 新しいサイトの基本テンプレートをセットアップしており、AngularJS、Bootstrap の JavaScript ファイル、Underscore.js などの一般的な JavaScript ライブラリをいくつか含めています。もちろん、これらのファイルを {% compress js %} でラップします。以下のコード例:
django-compressor は縮小フィルターのみを実行することを知っているため、おそらく縮小フィルターが正しい Javascript 出力を生成していない可能性があります。
JSMin で表示される JS エラーは次のとおりです。
そして、SlimIt によって生成されたファイルからのエラー:
ここで何が起こっているのか完全にはわかりませんが、ミニファイヤがこれらの一般的な js ライブラリで間違ったファイルを生成するとは信じがたいようです。
django-compressor の Javascript フィルタが共通ライブラリを台無しにするという問題に遭遇した人はいますか?
javascript - Django-リモートスクリプトを使用したコンプレッサー(Google Maps API)
パフォーマンス上の理由から、django-compressorを既存のdjangoプロジェクトに統合しようとしています。
ルートテンプレートのブロックの周りにタグを追加{% compress css %}
しまし{% compress js %}
た。ここで、すべてのJSおよびCSSスクリプトが子テンプレートに含まれています(つまり、サイト上の他のすべてのページは、ルートテンプレートのこれらのブロックを拡張して、ページ固有のファイルを配置します)。これはほとんどの場合完全に機能しますが、1つのページにJSヘッダー付きのGoogleマップが埋め込まれています。
これにより、ページのレンダリング時に例外がトリガーされます。
このスクリプトをスキップするようにdjango-compressorに指示する方法はありますか?リモートスクリプトにアクセスして圧縮する方法はありますか?
django - DjangoCompressorを使用した静的ファイルとアセットの分離とcollectstaticの使用
django-compressorの使用に頭を悩ませるのに本当に苦労しています。
これが私が達成しようとしていることです:
静的ファイルとアセットの分離(LESS、Coffeescript)
LESSCSSファイルとCoffeescriptファイルをアセットディレクトリに分割したい
例えば
画像などの静的アセットを静的ディレクトリに残す
例えば
これを行うために、アセットパスをSTATICFILES_DIRS変数に追加して、django-compressorがファイルを検索できるようにしました(これは期待どおりに機能します)。これは正しいアプローチですか?私はdjango-compressor専用の独立したロードパスを見つけようとしていましたが、これらのアセットを静的なものとして使用するつもりはないため、運がありませんでした。
本番デプロイメント用のファイルのコレクション
本番環境にデプロイするために、コンパイルされたCSSファイルとJSファイルを、app / staticディレクトリ内の他のメディア(画像など)とともにapp/static-prodディレクトリに収集します。ただし、collectstaticコマンドを使用するとアセットも収集されるため、これはうまく機能しません。
例えば
この./manage.py compress
コマンドを使用すると、コンパイルされたファイルのみが取得され、この例ではphoto.jpgやhello.txtは取得されません。
これを行うために私が見つけた唯一の可能な方法は、collectstaticで--ignoreフラグを使用することです。
例えば
また、 COMPRESS_ROOTおよびCOMPRESS_URL構成変数をいじりましたが、これらはさらに問題を引き起こすだけです。COMPRESS_ROOTを変更すると、collectstaticの問題は解決されますが、compressコマンドを使用すると、生成されたファイルは静的ファイルとは異なる場所に配置されます。
これらのソリューションは、ほとんどエレガントに見えません。これを行うためのより良い方法はありますか?何かが足りないような気がします。
助けてくれてありがとう:)