写jQuery插件时的注意点


Posted in Javascript onFebruary 20, 2017

写好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;
}));

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
字符串的replace方法应用浅析
Dec 06 Javascript
JavaScript实现梯形乘法表的方法
Apr 25 Javascript
js如何判断输入字符串长度
Dec 16 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
Jan 20 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 Javascript
简单实现JS上传图片预览功能
Apr 14 Javascript
详解Node.js开发中的express-session
May 19 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
vue判断input输入内容全是空格的方法
Mar 02 Javascript
jQuery实现的中英文切换功能示例
Jan 11 jQuery
JavaScript隐式类型转换代码实例
May 29 Javascript
Node.js获取前端ajax提交的request信息
Feb 20 #Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 #Javascript
Node.js websocket使用socket.io库实现实时聊天室
Feb 20 #Javascript
Angular在一个页面中使用两个ng-app的方法(二)
Feb 20 #Javascript
Angular在一个页面中使用两个ng-app的方法
Feb 20 #Javascript
JS高仿抛物线加入购物车特效实现代码
Feb 20 #Javascript
ES6中Math对象的部分扩展
Feb 20 #Javascript
You might like
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
js中cookie的使用详细分析
2008/05/28 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
python学习 流程控制语句详解
2016/06/01 Python
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
Python绘制3D图形
2018/05/03 Python
python实现播放音频和录音功能示例代码
2018/12/30 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
python常量折叠基础知识点讲解
2021/02/28 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
Java面向对象面试题
2016/12/26 面试题
四年大学自我鉴定
2014/02/17 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
悬空寺导游词
2015/02/05 职场文书
校长师德表现自我评价
2015/03/04 职场文书
校园安全教育心得体会
2016/01/15 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python