JQuery 来源的奇怪 RequireJS 调用

Weird RequireJS call on JQuery source

我在查看 JQuery 的源代码时发现它的一些文件有奇怪的模式。有时他们会声明很多代码中从未使用过的依赖项。最奇怪的例子是 jquery.js 文件。他们基本上是这样做的:

define([
    "./core",
    "./selector",
    // +27 dependencies here
], function( jQuery ){

return (window.jQuery = window.$ = jQuery);

});

所以我的问题是:他们声明的所有依赖关系会怎样?他们是否以某种方式依靠这个 jQuery 变量生活?如果不是,如果他们从不使用它们,为什么要声明它们?

这是 GitHub 上的代码:https://github.com/jquery/jquery/blob/master/src/jquery.js

提前致谢。

它们是必需的,因为当需要它们时,就好像文件是 运行,即 core.js 是 运行。通过查看 core.js 代码,它将创建核心功能并将其公开。即

jQuery.extend = jQuery.fn.extend = function() {
var options, name, src, copy, copyIsArray, clone,
    target = arguments[0] || {},
    i = 1,
    length = arguments.length,
    deep = false;
    ...
    ... etc

摘自 jQuery core

的片段

如果不需要,则不会公开该功能。

希望对您有所帮助。