RequireJS の名前付きモジュールと名前なしモジュール 質問する

RequireJS の名前付きモジュールと名前なしモジュール 質問する

requireJS でモジュールを作成するには、名前を付けます。

define("name",[dep],function(dep) {
      // module definition
});

または、名前を除いたものを作成することもできます。

define([dep],function(dep) {
      // module definition
});

モジュールを作成するより良い方法はどれですか? RequireJS ではモジュール名の割り当てを避けることを推奨していることは知っています。

しかし、どのようなシナリオでモジュールに名前を付ける必要があるのか​​、また、どのようなシナリオでモジュールに名前を付ける必要がないのかを知りたいです。これは使用方法に影響しますか? それぞれの方法の長所と短所は何ですか?

ベストアンサー1

これはrequirejsがドキュメンテーション名前付きモジュールについては次のように述べています。

これらは通常、最適化ツールによって生成されます。モジュールに明示的に名前を付けることもできますが、モジュールの移植性が低下します。ファイルを別のディレクトリに移動する場合は、名前を変更する必要があります。通常は、モジュールの名前をコーディングせずに、最適化ツールにモジュール名を組み込ませるのが最善です。最適化ツールは、複数のモジュールをファイルにバンドルしてブラウザーでの読み込みを高速化できるように、名前を追加する必要があります。

しかし、あなたが欲しいモジュールに単一のよく知られた名前を持たせることで、他のどのモジュールからも常に同じ方法で要求できるようになります。define名前付きの呼び出しを使用する必要があるでしょうか? まったく必要ありません。paths設定では:

paths: {
   'jquery': 'external/jquery-1.9.1',
   'bootstrap': 'external/bootstrap/js/bootstrap.min',
   'log4javascript': 'external/log4javascript',
   'jquery.bootstrap-growl': 'external/jquery.bootstrap-growl',
   'font-awesome': 'external/font-awesome'
},

"jquery"この設定では、jQueryは、Twitter Bootstrapはなどとして要求できます"bootstrap"。ベストプラクティスは、define名前による呼び出しをオプティマイザ

おすすめ記事