1

サードパーティ ライブラリ (JQuery/Underscore/Backbone) をモジュールとして定義し、それらを依存関係として使用する利点は何ですか?

require(["jquery", "underscore"], function($, _) {
    // Use $ and _ in here
});

たとえば、アンダースコアはグローバルな「_」変数を作成します。これは、上記の関数内で同じように簡単に使用できますが、その関数の前にアンダースコアが含まれていると仮定します。

Underscore を Require で使用するには、値を返すようにコードを変更するか、shim を定義する必要があります。スクリプトタグを介して含めることができるのに、わざわざする必要はありません。

特定のレベルの間接性を提供し、他の依存関係を同じ変数にマップし、その関数にローカルにスコープを設定できることがわかりました。ただし、アプリケーションのコアを形成するこれらのタイプのサードパーティ ライブラリには、これが役立つとは思えません。

4

2 に答える 2

2

Backbone/requireJs を使用していくつかのアプリを構築した後、requireJs を使用してバックボーン アプリを構築することに何の不利益も見られません。主な依存関係は古い学校のスクリプト タグを介して単純にロードされます。

とにかく最初にこの要件をロードする必要があり、ほとんどのモジュールで使用されており、おそらく別のフレームワークと交換することはありません。したがって、すべてのモジュールにボイラープレート コードを含める余裕はありません。

于 2013-02-19T22:01:34.817 に答える
0

AMD ローダーで使用するためにライブラリを変更する必要はありません。

require.config({paths:{underscore:'//some.cdn/path/to/underscore.js'}})

require(["jquery", "underscore"], function($ /*, note that we don't override _ here */) {
    // Use AMD $ and global _ in here
});
于 2013-02-20T06:32:24.673 に答える