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
的片段
如果不需要,则不会公开该功能。
希望对您有所帮助。
我在查看 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
的片段如果不需要,则不会公开该功能。
希望对您有所帮助。