3

アセットに Django-pipeline を使用する Django プロジェクトに取り組んでおり、別のファイルで必要な 1 つの JavaScript ファイルで何かを定義するという問題が発生し続けていますが、2 番目のファイルが最初のファイルよりも前にロードされ、したがって 2 番目のファイルがロードされます。正しく読み込めません。PIPELINE_JS に含まれるものの順序をいじることはできますが、これを処理するのはかなり面倒です。ほとんどの言語でrequire fooは、 foo が定義されていることを確認するなどのことができますが、javascript と django-pipeline ではこれができないようです。RequireJS について少し調べてみましたが、django-pipeline で使用できるかどうかはわかりません。この場合、どうすればよいですか?一般的にdjango-pipelineまたはdjangoを使用する他の人は、javascriptの依存関係管理のために何をしますか?

余談ですが、私は実際にはJavascriptではなくCoffeescriptを使用していますが、それは何の役にも立たないようです。レールでは#= require 'foo'、別のcoffeescriptファイルを要求することができましたが、それはレールアセットパイプラインにリンクされているようです.

4

1 に答える 1

1

これを行う唯一の方法は、'source_filenames'それに応じてリストを並べ替えることです。また、これらのファイルは、実行時にこの順序で連結されることに注意してcollectstaticください。

パイプラインはこの順序を尊重し、これを行うときに安全であるように重複を回避します:

'base.coffee',
'*.coffee', 

現在、django-pipeline には「require」構文はありません。お役に立てれば。

于 2012-09-04T12:48:00.490 に答える