模块化的意义(目的)
1 避免变量污染,命名冲突
2 提高代码复用率,重用逻辑功能
3 降低代码耦合度
4 按需加载,需要什么,加载什么
模块规范
1、.服务器端规范:CommonJs---nodejs使用的规范
2.、浏览器端规范:AMD---RequireJS国外相对流行(官网)
AMD和CMD区别
最明显的区别就是在模块定义时对依赖的处理不同。
AMD推崇依赖前置 在定义模块的时候就有声明其依赖的模块
CMD推崇就近依赖 只有在用到某模块的时候再去require
a. 对于依赖的模块,AMD是提前执行,CMD是延后执行;
b. CMD推崇依赖就近,AMD推崇依赖前置;
3、ES6的模块规范