写好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; }));
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持北冥有鱼!
您可能感兴趣的文章:
- jQuery命名空间与闭包用法示例
- javascript,jquery闭包概念分析
- jquery设置css样式的多种方法(总结)
- jQuery实现鼠标跟随效果
- Bootstrap jquery.twbsPagination.js动态页码分页实例代码
- 详解闭包解决jQuery中AJAX的外部变量问题
- Webpack+Vue如何导入Jquery和Jquery的第三方插件