Sea.js 模块化开发
网站复杂开发问题:冲突、依赖、性能等问题
解决方案:seaJs ,提高代码可维护性(模块化开发)
网址:seajs.org 引入库:
SeaJS简介
SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。 与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化开发。
SeaJS使用方法
1、引入sea.js源码
<script src="sea.js"></script>
2、seajs模块定义:define
require:请求外部文件;
explorers:相当于interface接口便于外部调用;
module是当前模块的信息
这里只是定义了一个模块(module.js),内部函数相当于一个闭包
define(function(require,explorts,module){
var name="charles";
function foo(){ //模块中声明了一个foo函数
alert("hello world")
}
})
3、seajs模块向外部模块提供接口:explorers
define(function(require,explorts,module){
var name="charles";
function foo(){ //模块中声明了一个foo函数
alert("hello world")
}
explorts.name=name; //对外提供的接口
explorts.foo=foo; //对外提供的接口
})
4、seajs模块引用外部模块:seajs.use(url,callback)
url:外部模块的url必选,为相对目录‘./’;callback:回调函数可选
seajs.ues("./js/module.js",function(explorts){
explorts.foo();
})
5、seajs模块依赖:require ,md2.js和md3.js之间的依赖
require在define中直接添加;
返回值:是一个explorers对象,因此可以在其后面直接使用模块中的方法
require(‘../js/tool.js’).foo();