首页 > 代码库 > seajs 笔记
seajs 笔记
第一步:全局配置的配置对象config
seajs.config = function(configData)
如:var configData = http://www.mamicode.com/{
base: ‘path/lib/‘,
alias: {},
charset: ‘utf-8‘,
timeout: 20000,
debug: false
}
第二步:定义模块函数define
Module.define = function (id, deps, factory)
1.id——id是一个模块的标识字符串,
2.deps——[]数组
3.factory——厂函数
如果只有一个参数,则赋值给factory。
如果有两个参数,第二个赋值给factory;第一个如果是array则赋值给deps,否则赋值给id。
如果有三个参数,则分别赋值给id,deps和factory。
factory工厂函数的三个参数分别是:
1.require——模块加载函数,用于记载依赖模块。
2.exports——接口点,将数据或方法定义在其上则将其暴露给外部调用。
3.module——模块的元数据。
module是一个对象,存储了模块的元信息
1.module.id——模块的ID。
2.module.dependencies——一个数组,存储了此模块依赖的所有模块的ID列表。
3.module.exports——与exports指向同一个对象
第三步:载入和引用模块use
Module.use = function (ids, callback, uri)
1.ids——字符串(单一模式)或数组(多模块模式);
2.callback——回调函数
模块的寻址算法
1.定义标识符
2.相对路径“./”
3.绝对路径“/”
省略seajs.use
<script src="http://www.mamicode.com/sea.js" data-main="./init"></script>
第四步:模块加载方法require
传给require的路径标识必须是字符串字面量
require.async
如果想要某个js文件在用到时才下载,可以使用require.async
第五步:多库共存
define(function() {
/*jquery code*/
return $.noConflict();
});
seajs 笔记