通用模块代码,其中包含AMD,CMD等 // 方案一:umd Jquery plugin(function(factory) { if (typeof define === 'function' define.amd) { // AMD. Register as an anonymous module. define(['jquery'], factory); } else { // Browser global
// 方案一:umd Jquery plugin (function(factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['jquery'], factory); } else { // Browser globals factory(jQuery); } }(function($) { $.fn.jqueryPlugin = function() {}; })); // 方案二:umd Node adapter // Help Node out by setting up define. if (typeof module === 'object' && typeof define !== 'function') { var define = function(factory) { module.exports = factory(require, exports, module); }; } define(function(require, exports, module) { var b = require('b'); return function() {}; }); // 方案三:umd Commonjs adapter // Help Node out by setting up define. if (typeof exports === 'object' && typeof define !== 'function') { var define = function(factory) { factory(require, exports, module); }; } define(function(require, exports, module) { var b = require('b'); // Only attach properties to the exports object to define // the module's properties. exports.action = function() {}; }); // 方案四:umd Commonjs strict (function(root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['exports', 'b'], factory); } else if (typeof exports === 'object') { // CommonJS factory(exports, require('b')); } else { // Browser globals factory((root.commonJsStrict = {}), root.b); } }(this, function(exports, b) { // attach properties to the exports object to define // the exported module properties. exports.action = function() {}; })); // 方案五:umd AMD or browser global (function(root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['b'], factory); } else { // Browser globals root.amdWeb = factory(root.b); } }(this, function(b) { function amdWeb() {} return amdWeb; })); // 方案六:umd AMD with global export (function(root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['b'], function(b) { // Also create a global in case some scripts // that are loaded still are looking for // a global even when an AMD loader is in use. return (root.amdWebGlobal = factory(b)); }); } else { // Browser globals root.amdWebGlobal = factory(root.b); } }(this, function(b) { function amdWebGlobal() {} return amdWebGlobal; })); // 方案七:umd Commonjs strict with global (function(root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['exports', 'b'], function(exports, b) { factory((root.commonJsStrictGlobal = exports), b); }); } else if (typeof exports === 'object') { // CommonJS factory(exports, require('b')); } else { // Browser globals factory((root.commonJsStrictGlobal = {}), root.b); } }(this, function(exports, b) { // attach properties to the exports object to define // the exported module properties. exports.action = function() {}; })); // 方案八:umd jquery plugin with Commonjs (function(factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['jquery'], factory); } else if (typeof exports === 'object') { // Node/CommonJS factory(require('jquery')); } else { // Browser globals factory(jQuery); } }(function($) { $.fn.jqueryPlugin = function() {}; }));