首先说一下前端常用的打包工具
webpack, requierJs,grunt 其中,webpack 为了方便同时支持 amd 与 cmd 规范, NodeJs遵循cmd 规范, 而requireJs 遵循amd 规范, 而浏览器本身是不支持 cmd(同步加载js,加载过程中会造成渲染阻塞,假死现象), 当然amd 是可以得到支持的, 而在webpack 进行js,合并 压缩 隔离之后,commonJs require的另一模块可以被预编译到另一个js文件中,因而使前端使用 commonJs 规范成为可能
commonJs规范在写法上要比amd 规范更为简洁,一次你被多数人喜爱.
amd规范基本写法:
define(function(){
function fun1(){
alert("it works");
}
fun1();
})
require(["js/a"],function(){
alert("load finished");
})
有关 amdJs 规范详细内容 参考阮一峰博客:
http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html