node.js学习记录二:模块化规范

一、 服务器端模块化规范

二、浏览器端模块化规范

  • AMD
    • RequireJS
  • CMD
    • SeaJS
    • commonjs
  • node.js
  • 区别
    • 对于依赖的模块,AMD提前执行,CMD延迟执行
    • CMD推崇依赖就近,AMD推崇依赖前置
    • AMD的API默认一个当多个用,CMD的API严格区分,职责单一
    • 还有一些细节的差异,具体看规范

三、SeaJS

3.1、 基本使用

3.2、整体感知

3.3、定义模块 define

  • 定义模块 define(function(require, exports, module){})
  • 函数体内的方法属性都属于这个方法,对外有封装性;解决了命名冲突问题,使js代码有了封装性
  • 直接调用 jQuery 插件等非标准模块的方法 http://my.oschina.net/briviowang/blog/208587

3.4、启动模块 seajs.use

  • 加载入口模块,我们把define定义的js就叫模块
  • 这个用于在html代码里面的加载

3.5、加载模块 require

-加载文件依赖、模块依赖的,用于define函数体内

3.6 暴露接口 exports 和 module.exports

  • module.exports曝露出一个完整的对象,只能扔一次只能曝露出来一个
  • exports是module.exports的别名,可以用来单个属性、方法、对象的曝露,用.的形式,exports能做的事情module.exports也可以做
  • 使用场景用.属性的形式曝露属性和方法的时候,而且是多个的时候用exports
  • module.exports直接等于的方式用,直接等于一个方法属性对象等等~~~

3.7、requirejs

与seajs的区别
requirejs是优先加载的
seajs是懒加载的,就是有拖延症,用的时候才加载
http://www.requirejs.cn/

你可能感兴趣的:(node.js学习记录二:模块化规范)