写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 相关文章推荐
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
Jul 31 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
Aug 20 Javascript
简介JavaScript中的setTime()方法的使用
Jun 11 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
Aug 05 Javascript
JS控制伪元素的方法汇总
Apr 06 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
May 10 Javascript
Angular.js中数组操作的方法教程
Jul 31 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
JavaScript类的继承操作实例总结
Dec 20 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
vue中activated的用法
Jan 03 Vue.js
JavaScript数组 几个常用方法总结
Nov 11 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多进程编程总结(推荐)
2016/07/18 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
javascript 计算两个整数的百分比值
2009/12/26 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
原生JS轮播图插件
2017/02/09 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
应届生妇产科护士求职信
2013/10/27 职场文书
新闻编辑自荐信
2013/11/03 职场文书
公司门卫管理制度
2014/02/01 职场文书
文明餐桌活动方案
2014/02/11 职场文书
精神文明单位申报材料
2014/05/02 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
英语读书笔记
2015/07/02 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android