博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将其他js类库制作成seajs模块
阅读量:6869 次
发布时间:2019-06-26

本文共 1386 字,大约阅读时间需要 4 分钟。

转载自 http://xbingoz.com/423.html

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//以前载入插件,通过载入的先后顺序实现依赖
<script src=
"jquery.min.js"
></script>
<script src=
"jquery.cookie.js"
></script>
 
//使用sea.js,要将cookie插件制作成模块:
define(
function
(require, exports, module){
     
return
function
($){
          
// 放置插件的源代码
     
}
});
 
//在其他模块里使用该插件的方法:
define(
function
(require, exports, module){
     
//先要载入jQuery的模块
     
var
$ = require(
'jquery'
);
     
//然后将jQuery对象传给插件模块
     
require(
'./cookie'
)($);
     
//开始使用 $.cookie方法
});

这种方法的思路是将插件作为一个返回函数,放置在define里,伪装成模块。使用该插件时,用reuqire方法将其载入,这时载入的会是一个函数,然后将jQuery对象作为参数传进去,就可以实现在jquery对象上绑定新的插件方法。这种思路非常有效,基本上,任何脚本都可以用这种思路实现模块化。

Bootstrap模块化

Bootstrap的js实际上也是在jQuery对象上扩展新的方法,可以视为jQuery的插件,所以模块化的方法也是按照插件的思路来实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
define(
function
(require, exports, module){
     
return
function
($){
          
//bootstrap.js的源代码
          
!(
function
($){
               
….
          
})($)
          
/*
               
注意:
               
bootstrap.js的源代码是由若干!(function($){...})(window.jQuery)段落组成的
               
需要将最后传入的参数改成 $
          
*/
     
}
});

Highcharts模块化

Highcharts是非常强大的图表绘制类库,它也需要依赖jQuery,但并不是在jQuery对象上扩展新方法,而是单独创建一个Highcharts对象。但是,Highcharts对象在源码中就是强制创建在全局对象window上的,所以一样不需要exports,使用插件模块化的方法就可以了。只需注意将源码中调用jQuery对象的地方,改成传入的$对象就可以了。

转载于:https://www.cnblogs.com/gaowx/p/4836072.html

你可能感兴趣的文章
python chapter 学习之序列
查看>>
我的友情链接
查看>>
Linux下如何知道自己外网的IP
查看>>
GlusterFS的基础应用
查看>>
DRBD+Heartbeat
查看>>
Ubuntu下vsftpd安装和配置
查看>>
IT运维之Linux服务器监控方案
查看>>
ORA-09925: Unable to create audit trail file Linux-x86_64
查看>>
安全存储专家usse
查看>>
MySQL数值类型
查看>>
TCP、UDP下的套接字编程
查看>>
jboss7-的默认系统日志
查看>>
python中的多进程和多线程
查看>>
如何跳出嵌套语句之return
查看>>
pycharm使用
查看>>
The producer group has been created before
查看>>
API概述
查看>>
python2.6 安装rsa的包
查看>>
undo表空间使用率过高,且迟迟不释放问题
查看>>
scons *** no sconstruct file found求解决办法
查看>>