mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Support CommonJS environments by accentuating the need for a window with a document. Fixes #13768.
This commit is contained in:
parent
894a6c1a6f
commit
acdcc6b6a2
@ -68,8 +68,6 @@ module.exports = function( grunt ) {
|
|||||||
{ flag: "offset", src: "src/offset.js", needs: ["css"] },
|
{ flag: "offset", src: "src/offset.js", needs: ["css"] },
|
||||||
{ flag: "dimensions", src: "src/dimensions.js", needs: ["css"] },
|
{ flag: "dimensions", src: "src/dimensions.js", needs: ["css"] },
|
||||||
{ flag: "deprecated", src: "src/deprecated.js" },
|
{ flag: "deprecated", src: "src/deprecated.js" },
|
||||||
|
|
||||||
"src/exports.js",
|
|
||||||
"src/outro.js"
|
"src/outro.js"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
if ( typeof module === "object" && module && typeof module.exports === "object" ) {
|
|
||||||
// Expose jQuery as module.exports in loaders that implement the Node
|
|
||||||
// module pattern (including browserify). Do not create the global, since
|
|
||||||
// the user will be storing it themselves locally, and globals are frowned
|
|
||||||
// upon in the Node module world.
|
|
||||||
module.exports = jQuery;
|
|
||||||
} else {
|
|
||||||
// Otherwise expose jQuery to the global object as usual
|
|
||||||
window.jQuery = window.$ = jQuery;
|
|
||||||
|
|
||||||
// Register as a named AMD module, since jQuery can be concatenated with other
|
|
||||||
// files that may use define, but not via a proper concatenation script that
|
|
||||||
// understands anonymous AMD modules. A named AMD is safest and most robust
|
|
||||||
// way to register. Lowercase jquery is used because AMD module names are
|
|
||||||
// derived from file names, and jQuery is normally delivered in a lowercase
|
|
||||||
// file name. Do this after creating the global so that if an AMD module wants
|
|
||||||
// to call noConflict to hide this version of jQuery, it will work.
|
|
||||||
if ( typeof define === "function" && define.amd ) {
|
|
||||||
define( "jquery", [], function () { return jQuery; } );
|
|
||||||
}
|
|
||||||
}
|
|
36
src/intro.js
36
src/intro.js
@ -11,7 +11,41 @@
|
|||||||
*
|
*
|
||||||
* Date: @DATE
|
* Date: @DATE
|
||||||
*/
|
*/
|
||||||
(function( window, undefined ) {
|
|
||||||
|
(function ( window, factory ) {
|
||||||
|
|
||||||
|
if ( typeof module === "object" && typeof module.exports === "object" ) {
|
||||||
|
// Expose a jQuery-making factory as module.exports in loaders that implement the Node
|
||||||
|
// module pattern (including browserify).
|
||||||
|
// This accentuates the need for a real window in the environment
|
||||||
|
// e.g. var jQuery = require("jquery")(window);
|
||||||
|
module.exports = function( w ) {
|
||||||
|
w = w || window;
|
||||||
|
if ( !w.document ) {
|
||||||
|
throw new Error("jQuery requires a window with a document");
|
||||||
|
}
|
||||||
|
return factory( w );
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// Execute the factory to produce jQuery
|
||||||
|
var jQuery = factory( window );
|
||||||
|
|
||||||
|
// Register as a named AMD module, since jQuery can be concatenated with other
|
||||||
|
// files that may use define, but not via a proper concatenation script that
|
||||||
|
// understands anonymous AMD modules. A named AMD is safest and most robust
|
||||||
|
// way to register. Lowercase jquery is used because AMD module names are
|
||||||
|
// derived from file names, and jQuery is normally delivered in a lowercase
|
||||||
|
// file name. Do this after creating the global so that if an AMD module wants
|
||||||
|
// to call noConflict to hide this version of jQuery, it will work.
|
||||||
|
if ( typeof define === "function" && define.amd ) {
|
||||||
|
define( "jquery", [], function() {
|
||||||
|
return jQuery;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pass this, window may not be defined yet
|
||||||
|
}(this, function ( window, undefined ) {
|
||||||
|
|
||||||
// Can't do this because several apps including ASP.NET trace
|
// Can't do this because several apps including ASP.NET trace
|
||||||
// the stack via arguments.caller.callee and Firefox dies if
|
// the stack via arguments.caller.callee and Firefox dies if
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
|
// Expose jQuery and $ identifiers, even in
|
||||||
|
// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
|
||||||
|
// and CommonJS for browser emulators (#13566)
|
||||||
|
return (window.jQuery = window.$ = jQuery);
|
||||||
|
|
||||||
})( window );
|
}));
|
||||||
|
Loading…
Reference in New Issue
Block a user