核心提示:AMD、CMD、webpack的区别:从前有两个规范,一个是AMD 一个是CMDRequireJS是AMD规范的实现,SeaJS是CMD规范的实现,一个主张提前加载依赖,一个主张延迟加载依赖后来出现了...
AMD、CMD、webpack的区别:
从前有两个规范,一个是AMD 一个是CMD
RequireJS是AMD规范的实现,SeaJS是CMD规范的实现,
一个主张提前加载依赖,一个主张延迟加载依赖
后来出现了 commonjs规范
webpack就是支持commonjs规范的
目前可以说是主导了前端构建格局。
CommomJS是服务端规范,node就是采用这个规范,他是同步加载,毕竟服务端不用考虑异步。
它是对通用的JavaScript模式的标准化尝试,它包含有 AMD 定义
AMD是异步加载模块的缩写,使用require引入模块,提倡依賴前置。
CMD与AMD其实挺接近的,还因为有sea.js,中文资料还是比较亲切的。
还有就是AMD和CommomJS的中间者UMD
Webpack其实就是一个打包工具,他的思想就是一切皆模块,css是模块,js是模块,图片是模块。并且提供了一些列模块加载(各种-loader)来编译模块。官方推荐使用commonJS规范,但是也支持CMD和AMD。