写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 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐base.js
Dec 23 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
Aug 11 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 Javascript
jQuery实现的多选框多级联动插件
May 02 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 Javascript
jquery获取复选框checkbox的值的简单实现方法
May 26 Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 Javascript
jQuery实现table表格信息的展开和缩小功能示例
Jul 21 jQuery
Spring boot 和Vue开发中CORS跨域问题解决
Sep 05 Javascript
vue通信方式EventBus的实现代码详解
Jun 10 Javascript
JavaScript ES6 Class类实现原理详解
May 08 Javascript
vue中watch的用法汇总
Dec 28 Vue.js
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+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
功能强大的php分页函数
2016/07/20 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
JavaScript使用cookie
2007/02/02 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
jQuery实现简单倒计时功能的方法
2016/07/04 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
python分析nignx访问日志脚本分享
2015/02/26 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
python属于软件吗
2020/06/18 Python
Python执行时间的几种计算方法
2020/07/31 Python
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
《最可爱的人》教学反思
2014/02/14 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
大课间活动实施方案
2014/03/06 职场文书
2014年端午节活动方案
2014/03/11 职场文书
代办委托书怎样写
2014/04/08 职场文书
放假通知范文
2015/04/14 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
Golang 入门 之url 包
2022/05/04 Golang