写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 相关文章推荐
jQuery 获取/设置/删除DOM元素的属性以a元素为例
May 23 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 Javascript
JQuery+CSS实现图片上放置按钮的方法
May 29 Javascript
Bootstrap布局组件应用实例讲解
Feb 17 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
详解使用fetch发送post请求时的参数处理
Apr 05 Javascript
angular4实现tab栏切换的方法示例
Oct 21 Javascript
浅谈Vue路由快照实现思路及其问题
Jun 07 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
Sep 20 Javascript
JavaScript 高性能数组去重的方法
Sep 20 Javascript
开发一个封装iframe的vue组件
Mar 29 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
基于mysql的bbs设计(二)
2006/10/09 PHP
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
浅谈PHP封装CURL
2019/03/06 PHP
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
微信扫码支付零云插件版实例详解
2017/04/26 Javascript
使用JavaScript实现表格编辑器(实例讲解)
2017/08/02 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
python 文件与目录操作
2008/12/24 Python
pymysql的简单封装代码实例
2020/01/08 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
大学活动总结范文
2014/04/29 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
Python制作春联的示例代码
2022/01/22 Python