本文共 706 字,大约阅读时间需要 2 分钟。
1、CommonJS是一种规范,NodeJS是这种规范的实现。
1.1、CommonJS 加载模块是同步的,所以只有加载完成才能执行后面的操作。
参考:
2、AMD是RequireJS在推广过程中对模块定义的规范化产出。
2.1、AMD异步加载模块。
参考:
3、CMD是SeaJS在推广过程中对模块定义的规范化产出。
3.1、对于依赖的模块AMD是提前执行,CMD是延迟执行。不过RequireJS从2.0开始,也改成可以延迟执行(根据写法不同,处理方式不通过)。
3.2、CMD推崇依赖就近,AMD推崇依赖前置。
参考:
4、UMD是AMD和CommonJS的融合。
4.1、AMD 浏览器第一的原则发展 异步加载模块。
4.2、CommonJS 模块以服务器第一原则发展,选择同步加载,它的模块无需包装(unwrapped modules)。
4.3、这迫使人们又想出另一个更通用的模式UMD (Universal Module Definition)。希望解决跨平台的解决方案。 UMD先判断是否支持Node.js的模块(exports)是否存在,存在则使用Node.js模块模式。 在判断是否支持AMD(define是否存在),存在则使用AMD方式加载模块。
参考:
以上是关于对JS的概念的理解,后续在进行深入尝试。
参考:
1.对于依赖的模块AMD是提前执行,CMD是延迟执行。不过RequireJS从2.0开始,也改成可以延迟执行(根据写法不同,处理方式不通过)。
2.CMD推崇依赖就近,AMD推崇依赖前置。
==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==转载地址:http://wokol.baihongyu.com/