私の意見では、かなり重要な理由が 3 つあります。
グローバル名前空間を汚染することなく、モジュールを作成して再利用できます。グローバル名前空間が汚染されているほど、関数/変数の衝突の可能性が高くなります。つまり、「foo」という関数を定義し、別の開発者が関数「foo」を定義すると、関数の 1 つが上書きされます。
コードを個別のフォルダーとファイルに構造化すると、requirejs が必要に応じてそれらを非同期にロードするため、すべてが機能します。
本番用にビルドできます。RequireJS には R.JS と呼ばれる独自のビルド ツールが付属しており、JavaScript モジュールを単一 (または複数) のパッケージに連結して醜くします。これにより、ユーザーがスクリプトを呼び出す必要が少なくなり、コンテンツを読み込む必要がなくなるため (JS が醜いため)、ページの速度が向上します。
次の簡単なデモ プロジェクトをご覧ください: https://c9.io/peeter-tomberg/requirejs (in cloud9ide)。
モジュールを単一のアプリにビルドするには、requirejs npm パッケージをインストールして、コマンド r.js -o build/build.properties.js を実行するだけです。
ご不明な点がございましたら、お気軽にお問い合わせください。
編集:
開発では、すべてのモジュールを個別のファイルに入れることは、コードを構造化および管理するための良い方法です。また、デバッグにも役立ちます (たとえば、「scripts.js 行 5373」ではなく「Module.js 行 17」のエラー)。
本番環境では、ビルド ツールを使用して、javascript を単一のファイルに連結および uglify する必要があります。これにより、リクエストが少なくなるため、ページの読み込みが速くなります。何かをロードするリクエストを行うたびに、ページが遅くなります。ページが遅いほど、Google が与えるポイントが少なくなります。ページが遅いほど、ユーザーはイライラします。ページが遅いほど、売り上げが少なくなります。
Web ページのパフォーマンスについて詳しく知りたい場合は、http://developer.yahoo.com/performance/rules.htmlをご覧ください。