5

使用Requirejs,如何仅在条件为真时才加载模块?例如,如果用户是管理员,则加载模块 a.js 文件。

PS:我将 Backbone 与 Requirejs 一起使用。

4

2 回答 2

5

像这样的东西?

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

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

如果您发现自己重复了这种模式,您也许可以编写自己的 requirejs 插件来整理它。

于 2012-04-26T10:19:40.157 回答
1

或者

define(['isAdmin!modelea'], function(modulea){ 
  if (modulea) { 
    // doSomethingWithIt(); 
  } 
}); 
于 2012-04-26T10:25:14.447 回答