commonjs
是一个同步模块化的规范,一个文件就是一个模块,多在服务端使用,ndoe.js则采用这种规范,通过exports 、module.exports来导出,require来导入。
优点是 文件可以复用
缺点是他是同步到,在模块加载完以前,后面的代码都无法执行,不适合在浏览器环境中使用
代表有 node.js browserfy.js
AMD
是实现异步模块加载的方法,并且会预加载,它的关键方法就是define, 在声明模块的时候会说明相关的依赖,
优点是可以异步,
缺点是代码书写阅读比较复杂,开发成本高
代表有 require.js
CMD
和AMD类似,又保持了和commonjs很好的兼容性
代表有 sea.js