随着JS模块化编程的发展,处理模块之间的依赖关系变得至关重要,随后诞生了CommonJS、AMD与CMD规范,但es6的import/export能代替他们,但因为本人所使用的webpack也支持前三者的语法,且面试题中常出现,因此只对他们做一个简要的总结:

CommonJS

诞生最早,用于服务端,例如node,语法上是同步加载

eg:  require([module])

实现者: browserify

AMD

Asynchronous Module Definition(异步模块定义),CommonJS是用于服务端的,他异步加载的特性决定并不适用的客户端,AMD为客户端定制,添加了回调函数

eg: require([module], callback)

实现者: requireJS

CMD

与AMD类似,但最最主要的区别是: AMD会提早加载执行完所有的模块,CMD只在需要的时候加载执行

因此:

AMD提前执行 CMD延迟执行

AMD推崇前置 CMD推崇就近

实现者: seaJS

最新文章

  1. (转)winform(C#)里几种弹出对话框
  2. 出现了内部错误-网站中X509Certificate2加载证书时出错
  3. 报错:Failed to instantiate the default view controller for UIMainStoryboardFile 'MainStoryboard' - perhaps the designated entry point is not set?
  4. Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景
  5. Bootstrap页面布局24 - BS旋转木马功能
  6. c++/c字符串操作汇集
  7. 等方案及设备提供商 有需要的可以联系QQ561454825,电话:13779953060,我们提供最专业的无线WIFI认证系统及根据您的需要修改软件
  8. lightoj 1030 概率dp
  9. NSString NSCFString区别
  10. birdnest是什么意思_birdnest在线翻译_英语_读音_用法_例句_海词词典
  11. 用TTL线在CFE环境下拯救半砖wrt54g路由器
  12. iOS性能优化技术
  13. nginx配置 location及rewrite规则详解
  14. JavaScript(七)
  15. linux 中的单引号 和双引号有什么区别吗
  16. Python_迭代器-生成器-复习-习题_41
  17. [leetcode]54. Spiral Matrix螺旋矩阵
  18. JAVA编程:字符串转为数字求和
  19. PHP 生成器入门
  20. MySQL安装教程(mysql5.6_bundle)

热门文章

  1. java调用本地默认浏览器
  2. 自定义ListView和GridView
  3. create table #temptable 临时表 和 declare @bianliang table ()表变量
  4. vim 命令行使用技巧
  5. 《HTML 5网页开发实例具体解释》样章、内容简单介绍、前言
  6. poj3411--Paid Roads(bfs+状压)
  7. jquery的eq()
  8. killall 命令
  9. 使用GnuPG(PGP)加密信息及数字签名教程_转
  10. dede后台title怎么修改的?去掉XXXX-织梦内容管理系统V5.7