码迷,mamicode.com
首页 > 编程语言 > 详细

javascript模块化开发----sea.js

时间:2015-05-14 20:24:14      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

废话不多,直接正题

定义一个模块

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‘

 

javascript模块化开发----sea.js

标签:

原文地址:http://www.cnblogs.com/liqingchang/p/4504127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!