写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 相关文章推荐
jQuery 选择器理解
Mar 16 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
Oct 10 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
Vue-Router进阶之滚动行为详解
Sep 13 Javascript
js Dom实现换肤效果
Oct 21 Javascript
深入理解redux之compose的具体应用
Jan 12 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
Apr 28 Javascript
JavaScript forEach中return失效问题解决方案
Jun 01 Javascript
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
May 30 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
10个实用的PHP代码片段
2011/09/02 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
Python中isnumeric()方法的使用简介
2015/05/19 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python中协程用法代码详解
2018/02/10 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
python随机模块random使用方法详解
2020/02/14 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
最受欢迎的自我评价
2013/12/22 职场文书
先进德育工作者事迹材料
2014/01/24 职场文书
男人帮观后感
2015/06/18 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript
解决 redis 无法远程连接
2022/05/15 Redis