写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 相关文章推荐
一个收集图片的bookmarlet(js 刷新页面中的图片)
May 27 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
Jan 16 Javascript
js格式化货币数据实现代码
Sep 04 Javascript
jquery $.fn $.fx是什么意思有什么用
Nov 04 Javascript
javascript生成随机颜色示例代码
May 05 Javascript
用jquery修复在iframe下的页面锚点失效问题
Aug 22 Javascript
JQuery给网页更换皮肤的方法
May 30 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
Vue实现typeahead组件功能(非常靠谱)
Aug 26 Javascript
基于js 各种排序方法和sort方法的区别(详解)
Jan 03 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
Jan 12 Javascript
vue实现数据控制视图的原理解析
Jan 07 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
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
python 自定义装饰器实例详解
2019/07/20 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
python实现mean-shift聚类算法
2020/06/10 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
接口可以包含哪些成员
2012/09/30 面试题
性能测试工程师的面试题
2015/02/20 面试题
学生实习介绍信
2014/01/15 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
药剂专业求职信
2014/06/20 职场文书
单位婚育证明范本
2014/11/21 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
python多次执行绘制条形图
2022/04/20 Python