0

私が理解していることから、ロードされる依存関係を管理する AMD を使用する利点の 1 つですが、require.js を使用する単一ページ アプリケーションでは、すべての依存関係がロードされます。

たとえば、バックボーンなどを使用して、次のファイルがあるとしましょう

main.js には router.js が必要です
router.js には view_a.js と view_b.js が必要です

router.js はビューをレンダリングします

routes: {  
   "view_b":"b",   
   "view_a":"a"  
},  
a:function{  
  showView(new ViewA());  
},   
b:function{  
  showView(new ViewB());  
}

example.com/#view_bここで、 のコードのみが必要で、 のコードはview_b.js何も使用しないに行くとしましょうview_a.jsview_b.jsとにかくrequire.jsなどを使用し てロードするか、ロードを優先する方法はありますか?

4

1 に答える 1

0

require.js は、実行する前にファイルのすべての依存関係をロードする必要があるため、できません。

あなたの問題に対する2つの解決策があります:

  • 各ルーターに必要なモジュールのみを「必要とする」ように、2つの異なるBackbone.Routerを作成します(IMHOは最適なソリューションではありません)

  • require.js optimizerを使用します。これにより、すべての Javascript ファイルが 1 つに結合されます。もちろん、開発ではなく本番用にのみ使用します。

于 2012-11-03T22:52:48.603 に答える