0

据我了解,使用 AMD 管理加载的依赖项的一个好处是,但是在使用 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.js. 无论如何只view_b.js使用 require.js 或类似的东西加载或优先加载?

4

1 回答 1

0

你不能因为 require.js 需要在执行之前加载文件的所有依赖项。

我看到您的问题的两种解决方案:

  • 创建两个不同的 Backbone.Router,就像你只“需要”每个路由器所需的模块(恕我直言,这不是最好的解决方案)

  • 使用require.js 优化器,这会将你所有的 Javascript 文件合并为一个。当然,您只将它用于生产,而不是用于开发。

于 2012-11-03T22:52:48.603 回答