写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数组组合成字符串的脚本
Jan 06 Javascript
IE JS无提示关闭窗口不提示的方法
Apr 29 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 Javascript
判断ie的两种简单方法
Aug 12 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
Aug 13 Javascript
JavaScript获取URL汇总
Jun 08 Javascript
jQuery平滑旋转幻灯片特效代码分享
Sep 07 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
jQuery联动日历的实例解析
Dec 02 Javascript
浅谈vuex之mutation和action的基本使用
Aug 29 Javascript
Vue2 模板template的四种写法总结
Feb 23 Javascript
深入理解react-router 路由的实现原理
Sep 26 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函数之日期时间函数date()使用详解
2013/09/09 PHP
WordPress中"无法将上传的文件移动至"错误的解决方法
2015/07/01 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
js倒计时抢购实例
2015/12/20 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
jquery实现网站列表切换效果的2种方法
2016/08/12 Javascript
Bootstrap 模态框(Modal)插件代码解析
2016/12/21 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
简单谈谈python中的语句和语法
2017/08/10 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
大学生期末自我鉴定
2014/02/01 职场文书
运动会方队口号
2014/06/07 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
《落花生》教学反思
2016/02/16 职场文书
创业计划书之书店
2019/09/10 职场文书
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis
Java结构型设计模式之组合模式详解
2022/09/23 Java/Android