Skip to content

seajs 最常用 7 个方法

SeaJS 是一个模块加载器,模块加载器需要实现两个基本功能:

  • 实现模块定义规范,这是模块系统的基础。
  • 模块系统的启动与运行。

seajs.config

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

seajs.use

用来在页面中加载一个或多个模块

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

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

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

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

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

define

用来定义模块。

javascript
define(function (require, exports, module) {
  // 模块代码
});
define(function (require, exports, module) {
  // 模块代码
});

require

用来获取指定模块的接口

javascript
define(function (require) {
  // 获取模块a的接口
  var a = require("./a");
  // 调用模块a的方法
  a.doSomething();
});
define(function (require) {
  // 获取模块a的接口
  var a = require("./a");
  // 调用模块a的方法
  a.doSomething();
});

require.async

用来在模块内部异步加载一个或多个模块

javascript
define(function (require) {
  // 异步加载一个模块,在加载完成时执行回调
  require.async("./b", function (b) {
    b.doSomething();
  });
  // 异步加载多个模块,在加载完成时执行回调
  require.async(["./c", "./d"], function (c, d) {
    c.doSomething();
    d.doSomething();
  });
});
define(function (require) {
  // 异步加载一个模块,在加载完成时执行回调
  require.async("./b", function (b) {
    b.doSomething();
  });
  // 异步加载多个模块,在加载完成时执行回调
  require.async(["./c", "./d"], function (c, d) {
    c.doSomething();
    d.doSomething();
  });
});

exports

用来在模块内部对外提供接口

javascript
define(function (require, exports) {
  // 对外提供foo属性
  exports.foo = "bar";
  // 对外提供doSomething方法
  exports.doSomething = function () {};
});
define(function (require, exports) {
  // 对外提供foo属性
  exports.foo = "bar";
  // 对外提供doSomething方法
  exports.doSomething = function () {};
});

module.exports

用来在模块内部对外提供接口

javascript
define(function (require, exports, module) {
  // 对外提供接口
  module.exports = {
    name: "a",
    doSomething: function () {},
  };
});
define(function (require, exports, module) {
  // 对外提供接口
  module.exports = {
    name: "a",
    doSomething: function () {},
  };
});

最后编辑时间:

Version 4.0 (framework-1.0.0-rc.20)