什么是模块化?
模块化:页面上的每个功能都是一个模块,实现某一特定功能的方法,每个模块都是独立的个体,模块间不会相互影响。说白了,就是将一个大的文件,按功能拆分成一个个小的模块,当需要完成某一项功能时,只需调用相应的模块即可。
模块化的好处?
- 解决命名冲突问题
- 独立,无依赖关系,相互间不影响,降低耦合度
- 方便单个模块功能调试和管理
- 提高了代码复用性,提升开发效率;
- 易于代码维护
模块化的规范有哪些?
模块化有四种规范,分别是AMD规范、ES6规范、CMD规范、CommonJS规范
所谓规范是指一个模块的导入、导出。
四者区别总结:
- CommoneJS规范,最典型的实践就是Node.js,主要使用在服务器端,同步加载模块;
- AMD,最典型的实践就是RequireJS,依赖前置,主要使用在浏览器端,异步加载模块。
- CMD,最典型的实践就是sea.js,依赖就近,主要使用在浏览器端,异步加载模块。
- ES6的Module,在语言层面定义了模块,通过export和import,吸收了CommoneJS和AMD两者的优点,兼容两标准的规范
## 在这里主要区分一下AMD和CMD的区别?
AMD和CMD最大的区别是对依赖模块的执行时机处理不同,注意不是加载的时机或者方式不同
- AMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块
- CMD推崇就近依赖,只有在用到某个模块的时候再去require