写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 相关文章推荐
form中限制文本字节数js代码
Jun 10 Javascript
JavaScript中的普通函数与构造函数比较
Apr 07 Javascript
判断是否存在子节点的实现代码
May 18 Javascript
快速解决js中window.location.href不工作的问题
Nov 02 Javascript
canvas实现探照灯效果
Feb 07 Javascript
基于Bootstrap框架实现图片切换
Mar 10 Javascript
JS实现图片预加载之无序预加载功能代码
May 12 Javascript
详解async/await 异步应用的常用场景
May 13 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
js实现拾色器插件(ColorPicker)
May 21 Javascript
JS自定义右键菜单实现代码解析
Jul 16 Javascript
让JavaScript代码更加精简的方法技巧
Jun 01 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
利用discuz自带通行证整合dedecms的方法以及文件下载
2007/03/06 PHP
php操作JSON格式数据的实现代码
2011/12/24 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
jQuery实现简单评论区功能
2020/10/26 jQuery
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python中生成器和yield语句的用法详解
2015/04/17 Python
tensorflow更改变量的值实例
2018/07/30 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
django框架实现模板中获取request 的各种信息示例
2019/07/01 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
创联软件面试题笔试题
2012/10/07 面试题
应届毕业生求职信
2013/11/30 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
疾病捐款倡议书
2014/05/13 职场文书
会计工作态度自我评价
2015/03/06 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
python自然语言处理之字典树知识总结
2021/04/25 Python