我有一个用例,我必须根据某些条件加载 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
感到困惑。
以上做法是否正确?
最佳答案
您应该使用“本地”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')
关于javascript - 使用 requirejs 有选择地加载 AMD 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941904/