标签:
废话不多,直接正题
定义一个模块
test.js
下面的三个三叔require exports module 不能随意修改,只能用这三个
define(function( require , exports , module ){ function test (){ } //exports 对外提供接口的对象 exports.test = test(); })
使用方法:
seajs.use(‘./test.js‘,function(ex){ ex.test(); })
第一个参数是路径,此时路径是以sea.js为默认目录的,因此使用./这种方式更不容易出错
如果现在有test2.js这个模块,需要使用test.js模块的内容,则使用参数require
test2.js:
define(function( require , exports , module ){ var test = require("./test.js"); test.test(); })
如果现在需要压缩文件,则添加两个参数
分别为当前模块ID,和依赖模块ID的数组
define("a",["b"],function( require , exports , module ){ var b = require("b") function show (){ alert(b.str); } exports.show = show; }) define("b",[],function( require , exports , module ){ exports.str = "b里的str"; }) seajs.use(‘a‘,function(ex){ ex.show(); });
上面代码定义了模块a和b,b不依赖任何模块,所以第二个参数是空数组
seajs.use(),第一个参数是要调用的模块的id或者地址,第二个是回调函数,在加载完成后会执行回调。第二个参数不是必填项。
配置seajs:
seajs.config({ alias:{ "jq":"jquery-1.9.1.js" }, preload:"jq" })
alias是别名,preload是预加载文件。
其实还有很多可以配置的,其实个人觉得常用的其实还有一个path,可以和alias联合使用。
之后再有对jq有依赖关系的模块,引用的时候就不必再写"./jquery......" 直接使用别名‘jq‘
标签:
原文地址:http://www.cnblogs.com/liqingchang/p/4504127.html