sea.JS

sea.JS符合cmd规范的模块加载器。当页面中有多个js文件时,使用sea.JS会让代码更好写,更易懂。

模块定义规范

require 是一个方法,接受 模块标识 作为唯一参数,用来获取其他模块提供的接口。

define(function(require,exports,module){
  ...
})

require

require.async异步加载模块,使用callback回调方式调用模块提供接口。
require.resolve用于放回模块绝对路径。

exports

exports可以通过给exports新增属性的方法来设置模块对外提供的接口。但注意如果直接给exports赋值,则没有用。因为本质上exports只是module.exports对象的一个引用。修改exports并不影响module.exports。由此可见,最后模块导出还是看module.exports对象。

module

module.id

模块的唯一标识

module.uri

模块的绝对路径
一般情况下(没有在 define 中手写 id 参数时),module.id 的值就是 module.uri,两者完全相同,可视为默认id。

module.dependencies

模块的依赖,是一个数组

module.exports

当前模块对外提供的接口。
传给 factory 构造方法的 exports 参数是 module.exports 对象的一个引用。只通过 exports 参数来提供接口,有时无法满足开发者的所有需求。 比如当模块的接口是某个类的实例时,需要通过 module.exports 来实现。
注意:对 module.exports 的赋值需要同步执行,不能放在回调函数里。

模块路径

相对标识

相对标识只出现在模块环境中,以 "." 开头。会相对当前模块的 URI 来解析.

sea.JS配置

seajs.config

你可能感兴趣的:(sea.JS)