私はRequireJSとr.jsオプティマイザーを使用して、本番対応のアプリを構築しています。require()
変数を呼び出しに渡すと、すべてが期待どおりに機能することに気付きました。
var someDependencies = ["dependency-1", "dependency-2", "dependency-3"];
require(someDependencies);
ただし、オプティマイザーを実行すると、依存関係は変数から読み取られないため、連結されたアプリ スクリプトには含まれません。私が理解しているように、これは呼び出しr.js
内で文字列リテラルを検索するためです。require()
JavaScript を処理しないため、変数は何の意味もありません。これはr.js のドキュメントにも記載されています。
オプティマイザーは、最上位の require および define 呼び出し、または単純化された CommonJS ラッピングでの require('name') 文字列リテラル呼び出しに渡される文字列リテラルの配列で指定されたモジュールのみを結合します。そのため、変数名を介してロードされたモジュールは見つかりません。
私の質問は次のとおりです。変数をrequire()
呼び出しに渡すことができるように、これを克服する方法はありますか?