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 [TOC] 代表sea.js 一、CMD规范: 1、申明 一个模块就是一个文件,申明自己的文件js的...
    白璞1024阅读 5,678评论 0 50
  • 为什么要使用模块化? 最主要的目的: 解决命名冲突 依赖管理 其他价值 提高代码可读性 代码解耦,提高复用性 CM...
    JamHsiao_aaa4阅读 2,865评论 0 1
  • 一、seajs.config配置说明: 1.base说明: base是字符串类型,表示基础或叫做根路径(最好绝对地...
    柠檬树__阅读 4,898评论 0 5
  • Sea.js 是一个成熟的开源项目,核心目标是给前端开发提供简单、极致的模块化开发体验。使用 Sea.js,在书写...
    WEB前端开发者阅读 3,907评论 0 2
  • 平台:Windows 7 版本:1.7.7 简介 Sea.js实现了对JS代码的模块化组织,大大提高了前端开发效率...
    逸之阅读 9,951评论 1 4