質問: new MyApp.registrationValidator($('.regform')); registrationForm.init(); ``` この仮想コードは登録フォームへの参照を取得し、すべての検証コードを登録することができます。 今度は、このコードを外部ファイルに移動する必要があります。私はできた: **Option A**: create a small .js file for every page, that only executes code specific for that page. * 長所 - 簡単で比較的速い * 短所 - これはすべてのページの余分なjsファイルです。リクエストを減らすためにすべてのjavascriptを1つのファイルに最小化できる方が好きです。 **Option B**: Execute all my 'instantiating code' in a JavaScript file. I'll just detect if there's any '.regForm' CSS classes on the page and only instantiate my objects if they appear on the page. * 長所 - インスタンス化のための単一の場所。正しいCSSクラスがあれば、ページ上のコンポーネントが魔法のように動作し始めます。 * 短所 - アプリケーションがかなり大きくなった場合、特定のページで不要な初期化コードが多数発生します。 **Option C:** Give my `` tag an id or class, and execute the correct code based on a big switch. * 長所:1つの.jsファイルに圧縮することはできますが、ページごとに.jsファイルは必要ありません。 * 短所:これはちょっと醜いと思います。 私は、コードを初期化するのは大したことではないと感じていたのであれば、オプションBはすばらしいことです。 私が主に思っているのは、あなたはこの状況での経験がありますか?それをどうやって解決しましたか?
回答: jQuery(外部のJavaScriptを動的にロードして実行する)のようなフレームワークを使用したい場合は、AとBを組み合わせたメリットがあります。どのページにも同じ.jsがロードされ、どの.jsファイルが動的にロードされるか(dom要素の有無によって)決定されます。