写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 解析Json字符串的性能比较分析代码
Dec 16 Javascript
javascript奇异的arguments分析
Oct 20 Javascript
jQuery之end()和pushStack()使用介绍
Feb 07 Javascript
js控制不同的时间段显示不同的css样式的实例代码
Nov 04 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
Sep 01 Javascript
js获取腾讯视频ID的方法
Oct 03 Javascript
jQuery操作css样式
May 15 jQuery
laydate 显示结束时间不小于开始时间的实例
Aug 11 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
vue环境搭建简单教程
Nov 07 Javascript
JS非行间样式获取函数的实例代码
Jun 05 Javascript
微信小程序实现Swiper轮播图效果
Nov 22 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+MySql编写聊天室
2006/10/09 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
php实现文件下载实例分享
2014/06/02 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
2018/10/29 Javascript
在Django同1个页面中的多表单处理详解
2017/01/25 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
Python脚本按照当前日期创建多级目录
2019/03/01 Python
Django REST framework 视图和路由详解
2019/07/19 Python
Python笔记之工厂模式
2019/11/20 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
财务支持类个人的自我评价
2014/02/14 职场文书
会计专业导师推荐信
2014/03/08 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
记账会计岗位职责
2014/06/16 职场文书
招标承诺书
2014/08/30 职场文书
求职自我评价范文100字
2014/09/23 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
小学班主任事迹材料
2014/12/17 职场文书
李白故里导游词
2015/02/12 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
2015初中团委工作总结
2015/07/28 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书