さて、プロジェクトにRequireJSを使用することを選択しました。RequireJSを使用すると、コードをモジュールに分割できます。コードの整理を改善する(スパゲッティコードを減らす)だけでなく、グローバル名前空間を整理することもできます。
main.jsファイルを見ると、次のことがわかります。
require(['app'], function(app) {
//use app here
console.log(app);
});
これは、app.jsをメインのjavascriptファイルに含めて実行します。
さて、あなたが混乱していると思うのは、RequireJSが導入する新しい構文ですが、基本的に各ファイルはクロージャを形成し、独自のスコープを持っています。
次のことを想像してみてください。
RequireJsを使用してファイルを分離しておらず、すべてのコードが1つのファイルに含まれている場合。次のようになります。
function app () {
return 'Hello from Yeoman!';
}
console.log(app());
必要なRequireJS構文でラップされている限り、app.js内に好きなものを書くことができます。
define([], function() {
//Start writing your code here
});
そして、それはmain.jsに含まれ、本番用に1つのファイルにコンパイルされます。
Yeomanのドキュメントは現時点では少しまばらなので、モジュラーJavaScriptの作成に熱心な場合は、RequireJSサイトにアクセスしてドキュメントを読むことをお勧めします。
この機能が必要ない/必要ない場合は、新しいYeomanプロジェクトを初期化するときに、いつでもRequireJSを含めないように選択できます。
お役に立てば幸いです:)