require.js需要在require中

时间:2012-11-14 04:30:39

标签: requirejs

为什么我们希望在require结构中有另一个需求结构?

require([mod1,mod2], function(m1, m2){

  require([mod3], function(m3){
    // and then will use m1 and m2 here as well
  })
})

为什么我们不能只有一个需求结构?我想了解这种设置之间的动机。

1 个答案:

答案 0 :(得分:4)

嵌套需求不是强制性的,如果这不符合您的风格,可以轻松避免。

虽然这对加载子模块或条件模块(如polyfill)很有用。

在更个性化的体验中,我经常在router控制器中使用嵌套需求,以便在请求时加载某些页面视图。这允许我仅在不加载应用程序的整个页面集合的情况下请求router的依赖项。

我经常发现自己使用嵌套的require通过加载条件语言环境来管​​理某些应用程序的某些i18n方面。

最后,我只记得应该使用define定义模块,而不是require。如果需要,require函数实际上用于任意加载脚本(并且可以使用一次来引导您的应用程序)。因此,在大多数实际用例中,您将在require模块定义中包含一些嵌套define

希望这有帮助!