写好jQuery插件,有一些注意的地方(持续添加)。
支持UMD
现在前端开发讲究模块化,所以jQuery插件也最好能够兼顾模块化。
模块化模式大概有几种: AMD、CommonJs、UMD。
AMD(Asynchronous Module Definition)
异步模块定义,可以异步的加载或依赖其他模块,支持的库如 Require.js, Sea.js 。
例子:
// xxx-plugin.js
define(['jquery'], function ($) {
function myFunc(){};
return myFunc;
});
CommonJs
可以将Javascript按照 Node 模块的方式定义。
例子:
var $ = require('jquery');
function myFunc(){};
module.exports = myFunc;
UMD(Universal Module Definition)
为了兼容 AMD 和 CommonJs风格,出现了UMD。
代码:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// Node, CommonJS-like
module.exports = factory(require('jquery'));
} else {
// Browser globals (root is window)
root.returnExports = factory(root.jQuery);
}
}(this, function ($) {
function myFunc(){};
return myFunc;
}));
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎点击右下角反馈进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。