我有一个用例,我根据某些条件加载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
感到困惑
上述方法是否正确?
答案 0 :(得分:3)
您应该使用“本地”require
。本地需求将确保模块相对于“父”模块解析,
define(["require", "module1"], function(require, module1) {
require(['./relative/to/parent/not/necessarily/relative/to/baseUrl'], ...);
并且相对于“父”模块也解析了URL。
define(["require", "module1"], function(require, module1) {
require.toUrl('./relative/to/parent/not/necessarily/relative/to/baseUrl')