据我了解,使用AMD管理依赖项的一个好处,但是在单页应用程序中,使用require.js将加载所有依赖项。
例如使用骨干或类似的东西,可以说我有以下文件
main.js需要路由器.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
?
您不能,因为require.js需要在执行之前要加载文件的所有依赖项。
我看到了您问题的两个解决方案:
-
创建两个不同的骨干。
-
使用require.js Optimizer,将所有JavaScript文件组合到一个。当然,您只将其用于生产,而不是开发。