Requirejs - 仅在条件为真时加载模块

时间:2012-04-26 10:00:51

标签: jquery backbone.js requirejs js-amd

使用Requirejs,如果条件为真,我该如何加载模块? 例如,如果用户是Admin,则加载文件a.js。

PS:我正在使用Backbone和Requirejs。

2 个答案:

答案 0 :(得分:5)

这样的东西?

define([], function () {
    function realWork (modulea) {
        // do stuff ...
        // so stuff with modulea
        if (modulea) {
            ...
        }
    }

    if (isAdmin) {
        require(["modulea"], function (modulea) {
            realWork(modulea);
        });
    } else {
        realWork();
    }
});

如果你发现自己重复这种模式,你或许可以write your own requirejs plugin整理一下。

答案 1 :(得分:1)

OR

define(['isAdmin!modelea'], function(modulea){ 
  if (modulea) { 
    // doSomethingWithIt(); 
  } 
});