seajs常用config.use.define使用方法

.seajs.config
seajs.config({
    // 设置路径,方便跨项目调用
    paths: {
        'path1': '....',
        'path2': '....'
    },
    // 设置别名,方便调用
    alias: {
        'class1': '...',
        'class2': '...'
    }
});


2.seajs.use
用来在页面中加载一个或多个模块

// 加载一个模块
seajs.use('./a');

// 加载一个模块,在加载完成时,执行回调
seajs.use('./a', function(a) {
    a.doSomething();
});

// 加载多个模块,在加载完成时,执行回调
seajs.use(['./a', './b'], function(a, b) {
    a.doSomething();
    b.doSomething();
});


3.define
用来定义模块。
define(function(require, exports, module) {
    // 模块代码
});


4.require
用来获取指定模块的接口
define(function(require) {
    // 获取模块a的接口
    var a = require('./a');
    // 调用模块a的方法
    a.doSomething();
});


5.require.async
用来在模块内部异步加载一个或多个模块
define(function(require) {
    // 异步加载一个模块,在加载完成时执行回调
    require.async('./b', function(b) {
        b.doSomething();
    });
    // 异步加载多个模块,在加载完成时执行回调
    require.async(['./c', './d'], function(c, d) {
        c.doSomething();
        d.doSomething();
    });
});


6.exports
用来在模块内部对外提供接口
define(function(require, exports) {
    // 对外提供foo属性
    exports.foo = 'bar';
    // 对外提供doSomething方法
    exports.doSomething = function() {};
});


7.module.exports
用来在模块内部对外提供接口
define(function(require, exports, module) {
    // 对外提供接口
    module.exports = {
        name: 'a',
        doSomething: function() {};
    };
});
3 Comments

Add a Comment

邮箱地址不会被公开。 必填项已用*标注