写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 相关文章推荐
javascript笔试题目附答案@20081025_jb51.net
Oct 26 Javascript
Javascript 事件流和事件绑定
Jul 16 Javascript
javascript 一个函数对同一元素的多个事件响应
Jul 25 Javascript
javascript搜索框点击文字消失失焦时文本出现
Sep 18 Javascript
AngularJS 最常用的功能汇总
Feb 17 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
Jul 11 Javascript
JS 获取HTML标签内的子节点的方法
Sep 21 Javascript
使用微信小程序开发前端【快速入门】
Dec 05 Javascript
AngularJS服务service用法总结
Dec 13 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
Mar 29 Javascript
你点的 ES6一些小技巧,请查收
Apr 25 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
BBS(php & mysql)完整版(一)
2006/10/09 PHP
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
JavaScript函数详解
2014/11/17 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
安全责任书范文
2014/03/12 职场文书
运动会拉拉队口号
2014/06/09 职场文书
水污染治理工程专业求职信
2014/06/14 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
白鹤梁导游词
2015/02/06 职场文书
校园安全主题班会
2015/08/12 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
详解nginx location指令
2022/01/18 Servers