RequireJS代码中“define.amd={jQuery:true}”的目的是什么?

RequireJS代码中“define.amd={jQuery:true}”的目的是什么?,requirejs,Requirejs,任何人都可以详细解释一下,为什么在require.js文件中设置了以下代码: define.amd = { jQuery: true }; 参考链接:将define.amd设置为某个值有助于区分amd加载程序提供的define函数与其他程序提供的任何旧define函数。处理多个加载场景的代码的典型模式如下: if (typeof define === 'function' && define.amd) { define(['exports'], factory(

任何人都可以详细解释一下,为什么在require.js文件中设置了以下代码:

define.amd = {
    jQuery: true
};
参考链接:

将define.amd设置为某个值有助于区分amd加载程序提供的define函数与其他程序提供的任何旧define函数。处理多个加载场景的代码的典型模式如下:

if (typeof define === 'function' && define.amd) {
    define(['exports'], factory(exports));
} else if (typeof module === 'object' && module.exports) {
    factory(module.exports);
} else {
    factory(exports);
}
第一行检查是否有可用的AMD加载程序,如果有,将使用AMD加载程序。如果define函数存在,但它没有amd属性集,那么它是一些随机的外部define

define这个名称非常通用。如果没有amd属性,有时很难确定当前的定义是否真的是我们关心的定义

将其设置为{jQuery:true}是一个历史工件。有一种解释。请求的作者是RequireJS的作者。简言之,其目的是表明AMD加载程序能够处理多个版本的jQuery调用定义的情况。只有当define.amd.jQuery为truthy时,jQuery才会调用define。在过去,jQuery的一些版本可能使用过它,但较新版本不再使用此标志,因此它仍然主要用于支持较旧的jQuery版本。

将define.amd设置为某个值有助于区分amd加载程序提供的define函数与其他程序提供的任何旧define函数。处理多个加载场景的代码的典型模式如下:

if (typeof define === 'function' && define.amd) {
    define(['exports'], factory(exports));
} else if (typeof module === 'object' && module.exports) {
    factory(module.exports);
} else {
    factory(exports);
}
第一行检查是否有可用的AMD加载程序,如果有,将使用AMD加载程序。如果define函数存在,但它没有amd属性集,那么它是一些随机的外部define

define这个名称非常通用。如果没有amd属性,有时很难确定当前的定义是否真的是我们关心的定义

将其设置为{jQuery:true}是一个历史工件。有一种解释。请求的作者是RequireJS的作者。简言之,其目的是表明AMD加载程序能够处理多个版本的jQuery调用定义的情况。只有当define.amd.jQuery为truthy时,jQuery才会调用define。在过去,jQuery的一些版本可能使用过它,但较新的版本不再使用此标志,因此它仍然主要用于支持较旧的jQuery版本