【发布时间】:2013-04-11 06:15:33
【问题描述】:
我有一个用例,我必须根据某些条件加载 AMD 模块,以便使用 requirejs 定义另一个模块。
define(['module1'],
function(module1)
{
/*some code*/
if (condition1) {
require(['module2'],
function()
{
/*some code*/
}
)
}
else {
require(['module3'],
function()
{
/*some code*/
}
)
}
return someObject;
});
我遇到了this 的问题,并对全局和本地require 感到困惑。
上述方法正确吗?
【问题讨论】:
-
到底好不好用?
-
是的,虽然我在代码中使用了 commonJS 样式,但它仍然有效。
define(['require','module1'],function(require,module1)) { var module2 = require('module2'); return something; } -
真的有效吗?对我来说它不起作用,因为之前没有加载 module2。我收到错误消息:尚未为上下文加载 module2:_。使用要求([])。这意味着它需要异步。我该怎么做才能同步?第一次调用时使用 require("module2") 获取 module2。
标签: javascript requirejs amd