关于SeaJS的概念,在这里就不多说了,自行百度吧~
下面是本人自己总结的sea.js的使用方法,有不对的地方请大家指出。
1. 第一步当然是去官网下载我们需要的文件喽
http://seajs.org/docs/ 进入官网点击下载即可。
打开我们下载的文件,是这样的:
打开src文件夹,我们可以看到很多js文件:
intro.js -- 全局闭包头部
sea.js -- 基本命名空间
util-lang.js -- 语言增强
util-events.js -- 简易事件机制
util-path.js -- 路径处理
util-request.js -- HTTP 请求
util-deps.js -- 依赖提取
module.js -- 核心代码
config.js -- 配置
outro.js -- 全局闭包尾部
我们想要的sea.js就在里面啦。
2. 根据需要在自己的页面里面引入sea.js
<script src="js/sea.js"></script>
3.开始使用!
关于怎样使用这个问题,还是从举个栗子开始吧~~~
如果我们现在有module1和module2两个js文件
module1.js内容如下:
function show(){
alert(1);
}
function show(){
alert(2);
}
module2.js内容如下:
function show(){
alert(3);
}
- 用sea.js引入其他js文件:
seajs.use('./js/module1.js')
注意了注意了!:sea的默认根目录是sea.js这个文件,注意路径哦~
seajs.use('./js/module1.js',function (){
//两个参数:第一个参数:模块的地址;第二个参数:回调函数;
alert(123); //当module1加载成功的时候弹出123
})
- 用sea.js实现模块化,解决冲突,依赖等问题:
对module1里面的代码做出如下改动:
define( function (require,exports,module){
//require,exports,module这三个参数是固定的,不允许修改的,相当于关键字
//可写可不写,如果要少写的话,只能少写后面的,不能少写前面的,
//比如可以写require,exports,也可以写require,不能写exports,module,或者module。
//一般情况下都写上比较好
function show(){
alert(1);
}
exports.fn1 = show ; //exports:对外提供接口的对象,让show这个函数在外面能够找到
})
function show(){
alert(2);
}
对module2里面的代码做出如下改动:
define(function (require,exports,module){
function show(){
alert(3);
}
exports.fn2 = show ;
})
- 在我们的html里面正确调用不同js文件里面的函数
seajs.use('./js/module1.js',function (){
//两个参数:第一个参数:模块的地址;第二个参数:回调函; ‘./js/module1.js’:sea的默认根目录:sea.js这个文件
alert(123); //当module1加载成功的时候弹出123
})
seajs.use('./js/module1.js',function (ex){ //参数可以随意起名,代表exports
ex.fn1(); //调用module1 的exports.fn1
show(); //调用module1 的show
})
//show(); 这样调用不到module1里的内容
seajs.use('./js/module2.js',function (ex){ //参数可以随意起名,代表exports
ex.fn2(); //调用module2 的exports.fn1
show(); //调用module1 的show
// ex.fn1(); 调用不到module1 的exports.fn1
})
差不多就是这样啦,get到了就会觉得不是很难吧,哈哈~