作为一个前端开发面对不同的项目,不同的开发小组使用的不同技术栈总有一种“前端东西真是杂,学不完”的想法。其中包含的“杂”就有很多方面的内容。今天我们主要说的就是:前端模块化开发过程中遇到的“模块化规范”。
提到前端模块化首先想到的肯定是 CMD、AMD、CommonJS
这些规范,当然还有 UMD
。下面我们就逐个解释一下各种规范的意义,并做一下对比。
1、概念解释
1.1 AMD(Asynchronous module definition)
AMD 全称是:Asynchronous module definition,译为:异步模块定义。是编程语言 JavaScript 的规范。它定义了一个定义代码模块及其相关性的应用程序编程接口(API),并在需要时异步加载它们。AMD 的实现提供了以下好处:
- 网站性能改进。为什么说改进了网站的性能,因为它实现了可以加载更小的JS文件,并且是再用到的时候才加载,也就是异步加载。
- 减少页面错误。解释一下,AMD模式之所以能减少错误,是因为AMD实现了在开发时可以定义依赖关系,并且是在代码执行之前。这样就可以减少我们使用到了没有依赖的代码,从而减少错误。
1.2 CMD()
1.3 CommonJS()
1.4 UMD()
2、不同模式的对比
参考资料:
1.Writing Modular JavaScript With AMD, CommonJS & ES Harmony
2.