写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代码
Dec 09 Javascript
jQuery制作简单柱状图实例
Jan 28 Javascript
js实现类似菜单风格的TAB选项卡效果代码
Aug 28 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
Dec 22 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
js 打开新页面在屏幕中间的实现方法
Nov 02 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
Mar 07 Javascript
单行 JS 实现移动端金钱格式的输入规则
May 22 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
vue-router3.0版本中 router.push 不能刷新页面的问题
May 10 Javascript
Vue-Cli项目优化操作的实现
Oct 27 Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 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基础知识:类与对象(5) static
2006/12/13 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
javascript天然的迭代器
2010/10/29 Javascript
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
Javascript验证方法大全
2015/09/21 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
js事件冒泡与事件捕获详解
2017/02/20 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
python 实现矩阵填充0的例子
2019/11/29 Python
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
大学生求职工作的自我评价
2014/02/13 职场文书
开学典礼主持词
2014/03/19 职场文书
2014年创先争优工作总结
2014/12/11 职场文书
大四学生个人总结
2015/02/15 职场文书
2015年环保局工作总结
2015/05/22 职场文书
学习雷锋主题班会
2015/08/14 职场文书
2016猴年春节问候语
2015/11/11 职场文书
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android