模块化规范的理解

187 阅读1分钟

模块化规范理解

什么是模块化?

把一个复杂的代码程序按照一定的规则封装成几个块或几个文件,然后组合到一起

模块化的进化过程

  • 全局function模式
  • namespace模式
编码: 将数据/行为封装到对象中
解决: 命名冲突(减少了全局变量)
问题: 数据不安全(外部可以直接修改模块内部的数据)
var abc = {
   a: function(){}
   b: function(){}
}
  • IIFE模式/增强(匿名闭包)

模块化规范

常见的模块化规范

  • CommonJS:NodeJS模块系统具体实现的基石。
  • AMD:异步模块规范,是RequireJS在推广过程中对模块定义的规范化产出的,推崇依赖前置;
  • UMD:兼容AMD和commonJS规范的同时,还兼容全局引用的方式;
  • CMD:是SeaJS 在推广过程中对模块定义的规范化产出的,推崇依赖就近;
  • ES6:ES6模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量;

Nodejs端是使用CommonJS规范的,前端浏览器一般使用AMD、CMD、ES6等定义模块化开发的