据我所知,使用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
中的任何内容。无论如何只使用require.js或类似的东西加载view_b.js
加载或优先处理?
答案 0 :(得分:0)
你不能因为require.js在执行之前需要加载文件的所有依赖项。
我看到了两个问题的解决方案:
创建两个不同的Backbone.Router,就像你只需要每个路由器所需的模块一样(恕我直言,这不是最好的解决方案)
使用require.js optimizer,这会将您的所有Javascript文件合并为一个。当然,您只能将它用于生产,而不是用于开发。