为什么我们希望在require结构中有另一个需求结构?
像
require([mod1,mod2], function(m1, m2){ require([mod3], function(m3){ // and then will use m1 and m2 here as well }) })
为什么我们不能只有一个需求结构?我想了解这种设置之间的动机。
答案 0 :(得分:4)
嵌套需求不是强制性的,如果这不符合您的风格,可以轻松避免。
虽然这对加载子模块或条件模块(如polyfill)很有用。
在更个性化的体验中,我经常在router
控制器中使用嵌套需求,以便在请求时加载某些页面视图。这允许我仅在不加载应用程序的整个页面集合的情况下请求router
的依赖项。
我经常发现自己使用嵌套的require通过加载条件语言环境来管理某些应用程序的某些i18n
方面。
最后,我只记得应该使用define
定义模块,而不是require
。如果需要,require
函数实际上用于任意加载脚本(并且可以使用一次来引导您的应用程序)。因此,在大多数实际用例中,您将在require
模块定义中包含一些嵌套define
。
希望这有帮助!