私はs3でdjango-pipelineを使用しています。Javascript ファイルを結合して s3 バケットに保存することに成功しcollectstatic
ましたが、何らかの理由で圧縮されていません (ファイル、そのサイズ、およびコンテンツ エンコーディングを調べて確認しました)。それ以外の場合、生成された組み合わせscripts.js
で物事は正しく機能しています。
django-pipeline を使用するために行った変更は次のとおりです。
pipeline
インストール済みアプリに追加されました。'pipeline.finders.PipelineFinder'
に追加STATICFILES_FINDERS
。- 以下に示すように、このクラスがドキュメントで定義されている場所に設定
STATICFILES_STORAGE = 'mysite.custom_storages.S3PipelineManifestStorage'
します。 - 以下に示すように設定
PIPELINE_JS
します。これは機能しますが、圧縮されません。 PIPELINE_ENABLED = True
それ以来DEBUG = True
、私はローカルで実行しています。PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor'
これはデフォルトのはずですが。- Yugliify Compressor を でインストールしました
npm -g install yuglify
。 PIPELINE_YUGLIFY_BINARY = '/usr/local/bin/yuglify'
デフォルトの withが機能するenv
はずですが。{% load pipeline %}
and{% javascript 'scripts' %}
which workを使用します。
もっと詳しく:
PIPELINE_JS = {
'scripts': {
'source_filenames': (
'lib/jquery-1.11.1.min.js',
...
),
'output_filename': 'lib/scripts.js',
}
}
class S3PipelineManifestStorage(PipelineMixin, ManifestFilesMixin, S3BotoStorage):
location = settings.STATICFILES_LOCATION
前述のように、圧縮されていないだけでcollectstatic
生成されます。scripts.js
そのコマンドの出力には次が含まれます。
Post-processed 'lib/scripts.js' as 'lib/scripts.js'
Django 1.8、django-pipeline 1.5.2、django-storages 1.1.8 を使用しています。
同様の質問: