2013-03-06 72 views
1

我正在使用requirejs我有几个条件来启动我的许多模块和插件。 我想在用户通过几个条件后加载模块和所需的插件。如何根据条件加载模块?

使用案例:

最初加载屏幕进行验证负荷后登录 另一个模块 上的所有条件 成功检查几个条件 我想加载所有的插件和其他模块。

我如何获得requirejs?

回答

4

这样做的一种方法就是简单地使用条件并在其中加载脚本。

例子:

define('foo', function(require) { 
    if (/* condition */) { 
     require(['module'], function (module) { 
      // the module stuff 
     }); 
    } 
}); 

你可以看到现场演示有条件在这个jsfiddle

加载jQuery的另外一起来看看:How to achieve lazy loading with RequireJS?

+0

这是行不通的,因为requireJs尚未加载模块呢。延迟加载的唯一方法是要求模块具有回调函数,就像链接的SO中一样。 – 2013-03-06 13:12:15

+0

@AndreasKöberle根据应该工作的文档(查看我链接的页面中的“设置导出的值”主题)。我甚至在阅读你的评论时在我的机器上测试过它。 – 2013-03-06 13:49:06

+0

只有在模块已加载的情况下才能使用。问题是关于稍后加载模块。因此,即使您的解决方案正在工作,它仍在工作,因为该模块仍然被加载到初始有效负载中。 – 2013-03-06 13:53:43