如何在单页应用程序上使用AMD仅加载某些依赖性



据我了解,使用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文件组合到一个。当然,您只将其用于生产,而不是开发。

最新更新