1

Require.js を学びたいと思っており、既存の Django プロジェクトに実装することを考えていました。ただし、プロジェクトで JavaScript ファイルと CSS ファイルをバンドルするために、アセット マネージャーdjango-mediageneratorを既に使用しています。

Require が何をするのか完全にはわからないので (スクリプトを非同期にロードすることは知っていますが、それだけです)、django-mediagenerator を既に使用しているプロジェクトに Require を実装してもまったく役に立たないのではないかと考えています。

何かご意見は?

4

2 に答える 2

1

要約: どちらでもない: RequireJS と django-mediageneratorは、いくつかの点でのみ重複するさまざまな問題に取り組んでいます。

RequireJS は、主に JavaScript コードをモジュール化するように設計されているため、プロジェクトを設計するときに、すべてを 1 つのファイルにまとめるのではなく、分割統治アプローチを使用できます。さまざまなファイルに存在するコードは、その状態を という名前のグローバル変数に記録することにしましたstate。(何時間でも楽しめます!)

django-mediagenerator は、ファイルを効率的に提供するためにファイルを集めるという問題に取り組みます。それは別の問題です。

現在、プロジェクトのモジュール化は設計には役立ちますが、本番環境ではパフォーマンスが低下します。したがって、RequireJS には、モジュールを収集するオプティマイザが含まれており、指示に従って、1 つ以上の最適化されたバンドルを生成します。この操作の一部は django-mediagenerator が行うことと重複しますが、django-mediagenerator の Web サイトには、RequireJS で動作するように設計されたモジュール間の依存関係を理解できるという兆候は見られませんでした。一方、RequireJS オプティマイザーは、これらの依存関係を理解し​​ており、仕事をするためにはそれらを理解する必要があるため、単純に依存関係をなくすことはできません。つまり、強制的に使用する必要はありませんが、使用しない場合は、RequireJS のオプティマイザーのインテリジェンスの一部を複製する何かを考え出す必要があります。

両方のツールが機能する領域 (CSS 最適化など) があります。同じプロジェクトで両方を使用する場合は、責任の分割方法を決定する必要があります。

于 2013-12-17T16:04:05.650 に答える